SQL的內連線 左外連線 右外連線以及交叉連線

2021-08-08 18:27:33 字數 774 閱讀 3504

以下是我對sql的內連線、左外連線、右外連線以及交叉連線的一些理解,希望能幫助到一些人,也歡迎指正錯誤。

假設有兩張表

a表和b表

a表中的aid與b表中的bid關聯

內連線:select * from a join b on a.aid=b.bid  或者(select * from a,b where a.aid=b.bid)

1.取一條a表的資料去跟b表中的資料匹配

2.匹配到了則顯示接著取a表的下一條資料繼續匹配,匹配不到也接著取下一條資料但是不顯示

3.重複第2步直至取完a表中的資料

備註:有匹配時返回對應的行

外連線包括左連線和右連線。

左連線:select * from a left join b on a.aid=b.bid

1.取一條a表的資料去跟b表中的資料匹配

2.不管有沒有匹配到都要顯示該條資料,只是沒匹配到的b表字段顯示為空

3.重複第2步直至取完a表中的資料

備註:返回a表中所有的行

右連線:select * from a right join b on a.aid=b.bid

1.取一條b表的資料去跟a表中的資料匹配

2.不管有沒有匹配到都要顯示該條資料,只是沒匹配到的a表字段顯示為空

3.重複第2步直至取完a表中的資料

備註:返回b表中所有的行

交叉連線(笛卡兒積):select * from a full join b on a.aid=b.bid

備註:返回a表和b表中所有的行

SQL 內連線,外連線(左外連線 右外連線)

參考整理筆記 關鍵字 inner join on 語句 select from a table a inner join b table bon a.a id b.b id 執行結果 說明 組合兩個表中的記錄,返回關聯字段相符的記錄,也就是返回兩個表的交集 陰影 部分。關鍵字 left join o...

SQL 左外連線,右外連線,全連線,內連線

例子1 a表 id name b表 id job parent id 1 張3 1 23 1 2 李四 2 34 2 3 王武 3 34 4 a.id同parent id 存在 關係內連線 select a.b.from a inner join b on a.id b.parent id 結果是 ...

SQL之全外連線,左外連線,右外連線,內連線

1.內連線 內聯接使用比較運算子 使用像 或 之類的比較運算子 根據每個表共有的列的值匹配兩個表中的行,根據這兩張表中相同列的條件,得出其交集。沒有inner join,形成的中間表為兩個表的笛卡爾積 select from customers c,orders o where c.id o.cus...