sql LEFT JOIN RIGHT JOIN(左连接)(mysql)
我們首先來看我們的兩個表:
table1:
table2:
在這里,LEFT JOIN(內連接,或等值連接):取得左表(table1)完全記錄,即是右表(table2)并無對應匹配記錄。
例如,如果table2中的age1的值有一個值是11,table1的值中age1的值也有11,那么就查詢出來;但是table2中如果有值2134,table1中的age1并不存在2134,那么這個值就不會查詢出來:
再假設,如果table1中有age1的值2,3,4但是table2中沒有一個age1的值是2,3,4那么table1中就會顯示出來2,3,4;換句話說,使用left join,最開始的表,左表會全部顯示出來,右表則會顯示左表中有的值。
SELECT * FROM table1 LEFT JOIN table2 ON table1.age1 = table2.age1;在這里使用
結果如下:
那么RIGHT JOIN 正好相反:與 LEFT JOIN 相反,取得右表(table2)完全記錄,即是左表(table1)并無匹配對應記錄。
SELECT * FROM table1 RIGHT JOIN table2 ON table1.age1 = table2.age1;
1、?on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。
2、where條件是在臨時表生成好后,再對臨時表進行過濾的條件。這時已經(jīng)沒有l(wèi)eft?join的含義(必須返回左邊表的記錄)了,條件不為真的就全部過濾掉。
總結
以上是生活随笔為你收集整理的sql LEFT JOIN RIGHT JOIN(左连接)(mysql)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql INNER JOIN 取得两个表
- 下一篇: SQL UNION 和 UNION AL