MySQL의 서브 쿼리 연습

테스트 데이터 테이블 :

공급 업체 表

  s_id  s_name          s_city     s_zip   s_call  
------  --------------  ---------  ------  --------
   101  FastFruit Inc.  Tianjin    300000  48075   
   102  LT Supplies     Chongqing  400000  44333   
   103  ACME            Shanghai   200000  90046   
   104  FNK Inc.        Zhongshan  528437  11111   
   105  Good Set        Taiyuang   030000  22222   
   106  Just Eat Ours   Beijing    010     45678   
   107  DK Inc.         Zhengzhou  450000  33332   

과일 테이블

f_id      s_id  f_name      f_price  
------  ------  ----------  ---------
a1         101  apple       5.20     
a2         103  apricot     2.20     
b1         101  blackberry  10.20    
b2         104  berry       7.60     
b5         107  xxxx        3.60     
bs1        102  orange      11.20    
bs2        105  melon       8.20     
c0         101  cherry      3.20     
l2         104  lemon       6.40     
m1         106  mango       15.60    
m2         105  xbabay      2.60     
m3         105  xxtt        11.60    
o2         103  coconut     9.20     
t1         102  banana      10.30    
t2         102  grape       5.30     
t4         107  xbababa     3.60   

끝이 쿼리 결과 정보 테이블 또는 진짜야을 반환하는 것입니다에서 첫 번째 문은 이해하지 못한다
( 아마도 가리 킵니다 . 선택을 * 공급 업체하여 WHERE 과일을 s_id= 공급 업체. s_id는 AND fruits.s_id = 107` 문, 과일 및 공급 업체는 형성을 EN )

SELECT * FROM fruits
WHERE EXISTS
(SELECT * FROM suppliers 
WHERE fruits.`s_id` = suppliers.`s_id` AND  fruits.s_id=107);
f_id      s_id  f_name   f_price  
------  ------  -------  ---------
b5         107  xxxx     3.60     
t4         107  xbababa  3.60     

두 테이블에서 쿼리의 다음과 같은 결과 :

SELECT * FROM suppliers ,fruits
WHERE fruits.`s_id` = suppliers.`s_id` AND  fruits.s_id=107
  s_id  s_name   s_city     s_zip   s_call  f_id      s_id  f_name   f_price  
------  -------  ---------  ------  ------  ------  ------  -------  ---------
   107  DK Inc.  Zhengzhou  450000  33332   b5         107  xxxx     3.60     
   107  DK Inc.  Zhengzhou  450000  33332   t4         107  xbababa  3.60     

제 문 다음 쿼리 복귀 진짜야 다음 쿼리 전체 데이터 테이블 과일
(추측 점수 선택 (SELECT) * 공급자를 Where S_ID = 문 공급자 테이블 (107) 및 상위 계층으로부터 아니다 접속 상태 과일을 선택 )

SELECT * FROM fruits
WHERE EXISTS
(SELECT * FROM suppliers WHERE s_id=107);
f_id      s_id  f_name      f_price  
------  ------  ----------  ---------
a1         101  apple       5.20     
a2         103  apricot     2.20     
b1         101  blackberry  10.20    
b2         104  berry       7.60     
b5         107  xxxx        3.60     
bs1        102  orange      11.20    
bs2        105  melon       8.20     
c0         101  cherry      3.20     
l2         104  lemon       6.40     
m1         106  mango       15.60    
m2         105  xbabay      2.60     
m3         105  xxtt        11.60    
o2         103  coconut     9.20     
t1         102  banana      10.30    
t2         102  grape       5.30     
t4         107  xbababa     3.60     
게시 15 개 원래 기사 · 원의 찬양 (14) · 전망 5719

추천

출처blog.csdn.net/qq_39204060/article/details/102544181