• <source id="scois"></source>
    您的位置:首頁 > 數據庫 > SQL語言 > 正文

    left join on 查詢

    更多 時間:2014-5-7 類別:數據庫 瀏覽量:2830

    left join on 查詢

    left join on 查詢

    LEFT JOIN 關鍵字會從左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中沒有匹配的行。也就是說:左表(A)的記錄將會全部表示出來,而右表(B)只會顯示符合搜索條件的記錄(例子中為: A.aID = B.bID). B表記錄不足的地方均為NULL.

    操作實例

    1、表a結構和數據

  •  
  • SQL 代碼   復制
  • 
    table a(id, type):
     
    id     type 
    
    ----------------------------------
     
    1      1         
    
    2      1          
    
    3      2     
    
    		
  • 2、表b結構和數據

  •  
  • SQL 代碼   復制
  • 
    table b(id, class):
     
    id    class 
    
    ---------------------------------
     
    1      1
     
    2      2
    
    		
  • 3、SQL語句調用

  •  
  • SQL 代碼   復制
  • 
    --sql語句1:
    
    select a.*, b.* from a left join b on a.id = b.id and a.type = 1;
     
    --sql語句2:
    
    select a.*, b.* from a left join b on a.id = b.id where a.type = 1;
     
    --sql語句3:
    
    select a.*, b.* from a left join b on a.id = b.id and b.class = 1;
    
    		
  • 4、sql語句1的執行結果為

  •  
  • SQL 代碼   復制
  • 
    a.id    a.type    b.id    b.class
     
    ----------------------------------------
     
    1        1            1        1
     
    2        1            2        2
     
    3        2               
    
    		
  • 5、sql語句2的執行結果為

  •  
  • SQL 代碼   復制
  • 
    a.id    a.type    b.id    b.class
     
    ----------------------------------------
     
    1        1            1        1
     
    2        1            2        2
    
    		
  • 6、sql語句3的執行結果為

  •  
  • SQL 代碼   復制
  • 
    a.id    a.type    b.id    b.class
     
    ----------------------------------------
     
    1        1            1        1
     
    2        1            
    
    3        2          
    
    		
  • 7、left join實例的備注

    由sql語句1可見,left join 中左表的全部記錄將全部被查詢顯示,on 后面的條件對它不起作用,除非再后面再加上where來進行篩選,這就是sql語句2了;由sql語句3可見,on后面的條件中,右表的限制條件將會起作用。

    超碰狠狠干人人干
  • <source id="scois"></source>