連接查詢(join on關鍵字)
注意: 可以多個表連接
一、 連接條件(等值連接和非等值連接)
1.等值連接
2.非等值連接
二、 自連接
注意: 由於自連接兩張表的列名和表明都一模一樣,所以需要給表起別名用來區 分前後兩張表
三、 內連接(inner join …… on)
查詢的結果只有兩張表的連接條件對應值均不爲null時的連接結果。
例如:
連接條件 t1.id=t2.id,只有t1.id,t2.id不爲空時才能將對應數據配對成功,沒配對的數據會被捨棄。
四、 外連接
左外連接
右外連接
應用場景:查找一個表中有,而另一個表中沒有的數據。
外連接分爲左外連接,右外連接,全連接。
左外連接就是左邊的數據會全部保留(即使左邊的連接條件值=null),但是由於null值無法比較,所以左外連接未配對成功的數據的右表爲空。
右外連接,全連接依次類推。
注意 :mysql不支持全外連接。
通過外連接來查找其他表無記錄的數據
這是外連接的常用場景
五、 交叉連接
返回兩張表的所有笛卡爾乘積的結果,一般無意義。