兩個表:分別是表A和表B
1.內連接:只返回滿足條件的數據
INNER JOIN 實例應用:select * from A INNER JOIN B ON A.A1=B.B1
那么我們會得到這樣的數據
2.外連接:
外連接又分左外連接和右外連接(左外連接,只返回滿足左表的數據【左表數據全部會顯示】;右外連接,只返回滿足右表的數據【右表數據全部會顯示】)
LEFT JOIN 實例應用: select * from A LEFT JOIN B ON A.A1=B.B1
那么我們會得到這樣的數據
RIGHT JOIN實例應用:select * from A RIGHT JOIN B ON A.A1=B.B1
那么我們會得到這樣的數據
3.完全連接:返回左表和右表所有數據
FULL JOIN 實例應用: select * from A FULL JOIN B ON A.A1=B.B1
那么我們會得到這樣的數據
4.笛卡爾積:又稱交叉連接,雖然沒有實際意義,但某些場景可能應用到
實例應用:select * from A,B
那么我們會得到這樣的數據
5.總結:
- 兩表直接笛卡爾積的結果數量是兩表的數據量相乘
- 帶where條件id相等的笛卡爾積和inner join結果相同,但是inner join效率快一點
- left join:TEST_A表的ID為空時拼接TEST_B表的內容為空,right join則相反
- full join:等於left join和right join的並