sql 中的join方式

2021-07-29 03:08:15 字數 1269 閱讀 7213

連線型別

定義inner join

內連線是最常見的一種連線,它也被稱為普通連線,只連線匹配的行(僅對滿足連線條件的cross中的列)。它又分為等值連線(連線條件運算子為"=")和不等值連線(連線條件運算子不為"=",例如between...and)。

outer join

full outer join

包含左、右兩個表的全部行,不管另外一邊的表中是否存在與它們匹配的行。

left outer join

包含左邊表的全部行(不管右邊的表中是否存在與它們匹配的行),以及右邊表中全部匹配的行

right outer join

包含右邊表的全部行(不管左邊的表中是否存在與它們匹配的行),以及左邊表中全部匹配的行

cross join

笛卡爾乘積(所有可能的行對),交叉連線用於對兩個源表進行純關係代數的乘運算。它不使用連線條件來限制結果集合,而是將分別來自兩個資料來源中的行以所有可能的方式進行組合。

natural join

自然連線是一種特殊的等值連線,它要求兩個關係中進行比較的分量必須是相同的屬性組,並且在結果中把重複的屬性列去掉;而等值連線不會去掉重複的屬性列。

self join

某個表和其自身連線,連線方式可以是內連線,外連線,交叉連線

inner join:

select * from t1,t2 where t1.id=t2.c1

select * from t1 inner join t2 ont1.id=t2.c1

select * from t1,t2 where t1.id between 1and 4;

full outer join:

select * from t1 full outer join t2 ont1.id = t2.c1

left outer join

select * from t1 left outer join t2 ont1.id =t2.c1;

right outer join

select * from t1 right outer join t2 ont1.id =t2.c1;

cross join(笛卡爾乘積)

select * from t1 cross join t2;

natural join (t1和t3表都有id列並且資料型別一樣),同名的列不超過1個

select * from t1 naturaljoin t3;

self join

select * from t1 as t1_s, t1;

sql中的join語句

sql的join分為三種,內連線 外連線 交叉連線。以下先建2張表,插入一些資料,後續理解起來更方便一些。create table emp empno int,name char 20 depart int create table depart dpno int,dpname char 20 in...

SQL中join的用法

第一種 inner join 解釋 產生的結果是a和b的交集 相同列裡面的相同值 內連線是最常見的一種連線,它也被稱為普通連線,只連線匹配的行 僅對滿足連線條件的cross中的列 它又分為等值連線 連線條件運算子為 和不等值連線 連線條件運算子不為 例如between.and 第二種 full ou...

sql中join的用法

select from table1 between 用法 select from table1 where kssj between 2019 05 01 and 2019 05 01 select from table1 where kssj 2019 05 01 and kssj 2019 0...