left join on 查詢
類別:數據庫 瀏覽量:2830
時間:2014-5-7 left join on 查詢
left join on 查詢LEFT JOIN 關鍵字會從左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中沒有匹配的行。也就是說:左表(A)的記錄將會全部表示出來,而右表(B)只會顯示符合搜索條件的記錄(例子中為: A.aID = B.bID). B表記錄不足的地方均為NULL.
操作實例
1、表a結構和數據
table a(id, type):
id type
----------------------------------
1 1
2 1
3 2
2、表b結構和數據
table b(id, class):
id class
---------------------------------
1 1
2 2
3、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的執行結果為
a.id a.type b.id b.class
----------------------------------------
1 1 1 1
2 1 2 2
3 2
5、sql語句2的執行結果為
a.id a.type b.id b.class
----------------------------------------
1 1 1 1
2 1 2 2
6、sql語句3的執行結果為
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后面的條件中,右表的限制條件將會起作用。
熱門推薦
- docker redis安裝配置(使用docker搭建redis主從的方法步驟)
- mysql必知必會索引(MySQL索引知識的一些小妙招總結)
- docker顯示容器的gc日志(解決docker使用GDB,無法進入斷點的問題)
- dedecms縮略圖路徑(DedeCMS圖集中縮略圖不顯示的解決方法)
- css中有幾種樣式表(深入淺出學習層疊樣式表--css推薦)
- dedecms二級菜單(dedecms5.7使tag調用的標簽正序排列的方法)
- linux rsync 遷移數據(如何使用Linux的rsync)
- python抽獎轉盤代碼(詳解python--模擬輪盤抽獎游戲)
- isPrototypeOf和hasOwnProperty的區別
- JS中prototype