sql的各種join連線

2022-02-22 09:48:00 字數 2030 閱讀 8763

1 select *from tablea inner join tableb

2 on tablea.name =tableb.name

3id name id name

4 -- ---- -- ----

51 pirate 2

pirate

63 ninja 4

ninja78

9inner join

10產生的結果集中,是a和b的交集。

11venn diagram of sql inner join

12 select *from tablea full outer join tableb

13 on tablea.name =tableb.name

14id name id name

15 -- ---- -- ----

161 pirate 2

pirate

172 monkey null

null

183 ninja 4

ninja

194 spaghetti null

null

20null

null

1rutabaga

21null

null

3darth vader

2223

24full outer join 產生a和b的並集。但是需要注意的是,對於沒有匹配的記錄,則會以null做為值。

25venn diagram of sql cartesian join

26 select * from tablea left outer join tableb on tablea.name =tableb.name

27id name id name

28 -- ---- -- ----

291 pirate 2

pirate

302 monkey null

null

313 ninja 4

ninja

324 spaghetti null

null

3334

35left outer join 產生表a的完全集,而b表中匹配的則有值,沒有匹配的則以null值取代。

36venn diagram of sql left join

37 select * from tablea left outer join tableb on tablea.name = tableb.name where tableb.id is null

38id name id name

39 -- ---- -- ----

402 monkey null

null

414 spaghetti null

null

4243

44產生在a表中有而在b表中沒有的集合。

45 join-left-outer.png

46 select * from tablea full outer join tableb on tablea.name = tableb.name where tablea.id is null or tableb.id is null

47id name id name

48 -- ---- -- ----

492 monkey null

null

504 spaghetti null

null

51null

null

1rutabaga

52null

null

3darth vader

5354

SQL的各種連線Join詳解

sql join 子句用於把來自兩個或多個表的行結合起來,基於這些表之間的共同字段。最常見的 join 型別 sql inner join 簡單的 join sql left join sql right join sql full join,其中前一種是內連線,後三種是外鏈結。假設我們有兩張表,t...

SQL的各種連線Join詳解

sql join 子句用於把來自兩個或多個表的行結合起來,基於這些表之間的共同字段。最常見的 join 型別 sql inner join 簡單的 join sql left join sql right join sql full join,其中前一種是內連線,後三種是外鏈結。假設我們有兩張表,t...

也談SQL各種連線(JOIN)

最近公司在招人,同事問了幾個自認為資料庫可以的應聘者關於庫連線的問題,回答不盡理想 現在在這寫寫關於它們的作用 假設有如下表 乙個為投票主表,乙個為投票者資訊表 記錄投票人ip及對應投票型別,左右連線實際說是我們聯合查詢的結果以哪個表為準 1 如右接連 right join 或 right oute...