SQL高階 三 SQL 連線 JOIN

2021-10-03 13:06:30 字數 3046 閱讀 5107

++++++++++++++++++開始線++++++++++++++++++

sql join 用於把來自兩個或多個表的行結合起來。

下圖展示了 left join、right join、inner join、outer join 相關的 7 種用法。

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

***********************************==

最常見的 join 型別:sql inner join(簡單的 join)。

sql inner join 從多個表中返回滿足 join 條件的所有行。

使用的不同的 sql join 型別:

inner join:如果表中有至少乙個匹配,則返回行

left join:即使右表中沒有匹配,也從左表返回所有的行

right join:即使左表中沒有匹配,也從右表返回所有的行

full join:只要其中乙個表中存在匹配,則返回行

inner join 關鍵字在表中存在至少乙個匹配時返回行。

***********************************==

語法

select column_name(s)

left join 關鍵字從左表(table1)返回所有的行,即使右表(table2)中沒有匹配。如果右表中沒有匹配,則結果為 null。

***********************************==

語法

select column_name(s)

左表是websites,右表是access_log。右表沒有資料也會顯示。

left join 關鍵字從左表返回所有的行,即使右表中沒有匹配。

right join 關鍵字從右表(table2)返回所有的行,即使左表(table1)中沒有匹配。如果左表中沒有匹配,則結果為 null。

***********************************==

語法

select column_name(s)

access_log 作為左表,websites 作為右表

right join 關鍵字從右表返回所有的行,即使左表中沒有匹配。

full outer join 關鍵字只要左表(table1)和右表(table2)其中乙個表中存在匹配,則返回行。

full outer join 關鍵字結合了 left join 和 right join 的結果。

***********************************==

語法

select column_name(s)

mysql中不支援 full outer join。

full outer join 關鍵字返回左表和右表中所有的行。

如果 「websites」 表中的行在 「access_log」 中沒有匹配或者 「access_log」 表中的行在 「websites」 表中沒有匹配,也會列出這些行。

SQL連線查詢 JOIN

主要列舉這個圖 或者,或者,同理,select column name s from table1 left join table2 on table1.column name table2.column name 或者,select column name s from table1 left o...

sql中的join連線

今天簡單的了解一下資料庫中的sql連線,具體的講解可以參考 資料庫原理與應用 這裡從實際的使用角度來說,首先準備測試資料,表test1,test2 建立表test1 create table test1 name varchar2 20 age int 建立表test2 create table t...

sql的各種join連線

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和...