SQL查詢左連線、右連線、內連線
阿新 • • 發佈:2018-10-31
1、左連線的定義:是以左表為基礎,根據ON後給出的兩表的條件將兩表連線起來。結果會將左表所有的查詢資訊列出,而右表只列出ON後條件與左表滿足的部分。左連線全稱為左外連線,是外連線的一種。
下邊以A表和B表為例子,A、B之間的左連線條件為:ano=bno;查詢語句為:SELECT * FROM `A` LEFT JOIN B ON ano=bno;
eg1:A表中的只有1條記錄,B表中2條記錄,B表的2條記錄bno都等於ano,
查詢結果:將A表的記錄都查詢出來,B表中bno等於ano的都查詢出來了且左側為ano對應的資訊。
eg2:A表中存在的ano,B表中不存在對應的bno;
結果:A表的記錄全部查詢出來而且如果B沒有bno=ano的記錄時右側顯示為空,B表中只有bno=ano的記錄查詢出來了。
2、右連線的定義,是以右表為基礎,根據ON後給出的兩表的條件將兩表連線起來。結果會將右表所有的查詢資訊列出,而左表只列出ON後條件與右表滿足的部分。右連線全稱為右外連線,是外連線的一種。
eg:以上邊的資料為例子,進行右連線測試如下:
結果:a表只顯示和b表id相等的2行資料,b表的記錄全部顯示出來
3、內連結:使用比較運算子根據每個表共有的列的值匹配兩個表中的行;
eg:繼續以之前的資料為例子:
結果:只顯示a.aid=b.bid的2行記錄