簡單學習SQL的各種連線Join

2022-09-25 07:36:09 字數 2433 閱讀 8715

sql join 子句用於把來自兩個或多個表的行結合起來,基於這些表之間程式設計客棧的共同字段。

最常見的 join 型別:sql inner join(簡單的 join)、sql left join、sql right join、sql full join,其中前一種是內連線,後三種是外鏈結。

假設我們有兩張表,table a是左邊的表,table b是右邊的表。

idname

1google

2dhzpa **3微博

4facebook

idaddress

www.cppcns.com1美國

5中國3中國

6美國

inner join

內連線是最常見的一種連線,只連線匹配的行。

inner join語法

select column_name(s)

from table 1

inner join table 2

ontable 1.column_name=table 2.column_name

注釋:inner join與join是相同

inner join產生的結果集中,是1和2的交集。

select * from table a inner join table b

on table a.id=table b.id

執行以上sql輸出結果如下:

idname

address

1google美國3

微博中國

left join

left join返回左表的全部行和右表滿足on條件的行,如果左表的行在右表中沒有匹配,那麼這一行右表中對應資料用null代替。

left join 語法

select column_name(s)

from table 1

left join table 2

on table 1.column_name=table 2.column_name

注釋:在某些資料庫中,left join 稱為left outer join

left join產生表1的完全集,而2表中匹配的則有值,沒有匹配的則以null值取代。

select * from table a left join table b

on table a.id=table b.id

執行以上sql輸出結果如下:

idname

address

1google美國2

**null3微博

中國4

facebook

null

right join

right join返回右表的全部行和左表滿足on條件的行,如果右表的行在左表中沒有匹配,那麼這一行左表中對應資料用null代替。

right join語法

select column_name(s)

from table 1

right join table 2

on table 1.column_name=table 2.column_name

注釋:在某些資料庫中,right join 稱為right outer join

right join產生表2的完全集,而1表中匹配的則有值,沒有匹配的則以null值取代。

select * www.cppcns.comfrom table a right join table b

on table a.id=table b.id

執行以上sql輸出結果如下:

idname

address

1google美國5

null中國3

微博中國

6null

美國full outer join

程式設計客棧full join 會從左表 和右表 那裡返回所有的行。如果其中乙個表的資料行在另乙個表中沒有匹配的行,那麼對面的資料用null代替

full outer join語法

select column_name(s)

from table 1

full outer join table 2

on table 1.column_name=table 2.column_name

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

select * from table a full outer join table b

on table a.id=table b.id

執行以上sql輸出結果如下:

idname

address

1google美國2

**null3微博

中國4

facebook

null

5null中國6

null

美國本文標題: 簡單學習sql的各種連線join

本文位址:

SQL各種連線

1.內連線 inner join 內連線使用比較運算子根據每個表共有的列的值匹配兩個表中的行。2.外連線 外連線可以是 左向外連線 右向外連線或完整外部連線。在from子句中指定外連線時,可以由下列幾組關鍵字中的一組指定 left join 或 left outer join。左向外連線的結果集包括...

SQL各種連線

定義inner join 內連線是最常見的一種連線,它也被稱為普通連線,只連線匹配的行 僅對滿足連線條件的cross中的列 它又分為等值連線 連線條件運算子為 和不等值連線 連線條件運算子不為 例如between.and outer join full outer join 包含左 右兩個表的全部行...

sql的各種連線查詢

以下均以oracle scott賬號自帶的資料庫為例 方括號裡的東西表示有和沒有效果是一樣的 表內查詢 自連線 查詢所有經理所對應的雇員 sql 86 select manager.ename as manager,worker.ename as worker from emp manager,em...