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

2021-09-22 16:25:24 字數 1152 閱讀 2646

1. 內連線

內聯接使用比較運算子(使用像 = 或 <> 之類的比較運算子)根據每個表共有的列的值匹配兩個表中的行,根據這兩張表中相同列的條件,得出其交集。

沒有inner join,形成的中間表為兩個表的笛卡爾積

select *

from customers c,orders o

where c.id=o.customer_id;

一般稱為內連線,有inner join,形成的中間表為兩個表經過on條件過濾後的笛卡爾積

select * 

from t_user u

inner join t_order o

on (u.name = o.name);

2.全外連線

完整外部聯接返回左表和右表中的所有行。當某行在另乙個表中沒有匹配行時,則另乙個表的選擇列表列包含空值。如果表之間有匹配行,則整個結果集行包含基表的資料值。

select * 

from t_user u

left outer join t_order o

on (u.name = o.name);

3. 左外連線

用的是left joinleft outer join

select * 

from t_user u

left outer join t_order o

on (u.name = o.name)

where 條件;

4. 右外連線

select * 

from t_user u

right outer join t_order o

on (u.name = o.name)

where 條件;

where條件:在有on條件的select語句中是過濾中間表的約束條件。在沒有on的單錶查詢中,是限制物理表或者中間查詢結果返回記錄的約束。在兩表或多表連線中是限制連線形成最終中間表的返回結果的約束。

左外連線 右外連線 全連線

例子 create table t1 c1 int primary key,c2 int create table t2 cc1 int primary key,cc2 int insert into t1 values 1,1 2,2 5,5 insert into t2 values 2,2 3...

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 內連線,外連線(左外連線 右外連線)

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