mysql表的連接


兩個表:分別是表A和表B

img實例表

1.內連接:只返回滿足條件的數據

INNER JOIN 實例應用:select * from A INNER JOIN B ON A.A1=B.B1

那么我們會得到這樣的數據

img內連接INNER JOIN

2.外連接:

外連接又分左外連接和右外連接(左外連接,只返回滿足左表的數據【左表數據全部會顯示】;右外連接,只返回滿足右表的數據【右表數據全部會顯示】)

LEFT JOIN 實例應用: select * from A LEFT JOIN B ON A.A1=B.B1

那么我們會得到這樣的數據

img左外連接LEFT JOIN

RIGHT JOIN實例應用:select * from A RIGHT JOIN B ON A.A1=B.B1

那么我們會得到這樣的數據

img右外連接RIGHT JOIN

3.完全連接:返回左表和右表所有數據

FULL JOIN 實例應用: select * from A FULL JOIN B ON A.A1=B.B1

那么我們會得到這樣的數據

img完全連接FULL JOIN

4.笛卡爾積:又稱交叉連接,雖然沒有實際意義,但某些場景可能應用到

實例應用:select * from A,B

那么我們會得到這樣的數據

img笛卡爾積(交叉連接)

5.總結:

  • 兩表直接笛卡爾積的結果數量是兩表的數據量相乘
  • 帶where條件id相等的笛卡爾積和inner join結果相同,但是inner join效率快一點
  • left join:TEST_A表的ID為空時拼接TEST_B表的內容為空,right join則相反
  • full join:等於left join和right join的並


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM