SQL 語句之Join複習

2021-09-24 14:54:12 字數 1264 閱讀 7642

left join(左聯接) 返回包括左表中的所有記錄和右表中聯結字段相等的記錄

right join(右聯接) 返回包括右表中的所有記錄和左表中聯結字段相等的記錄

inner join(等值連線) 只返回兩個表中聯結字段相等的行

a表 id姓名1張三

2李四3王五

b表 id成績190

270480

sql語句如下:

select

*from

a left

join

b on

a.aid 

=b.bid

結果:

aid姓名

bid成績1張三

1902李四

2703王五

null

null

(所影響的行數為 3 行)

左表(a)的記錄將會全部表示出來,而右表(b)只會顯示符合搜尋條件的記錄(例子中為: a.aid = b.bid).

b表記錄不足的地方均為null.

sql語句如下:

select

*from

a right

join

b on

a.aid 

=b.bid

結果:

aid姓名

bid成績1張三

1902李四

270null

null480

和left join的結果剛好相反,這次是以右表(b)為基礎的,a表不足的地方用null填充.

sql語句如下:

select

*from

a inner

join

b on

a.aid 

=b.bid

結果:

aid姓名

bid成績1張三

1902李四

270這裡只顯示出了 a.aid = b.bid的記錄.這說明inner join並不以誰為基礎,它只顯示符合條件的記錄.

語法:from table1 left join table2 on table1.field1 compopr table2.field2

說明:table1, table2引數用於指定要將記錄組合的表的名稱。

field1, field2引數指定被聯接的字段的名稱。且這些字段必須有相同的資料型別及包含相同型別的資料,但它們不需要有相同的名稱。

compopr引數指定關係比較運算子:"=", "<", ">", "<=", ">=" 或 "<>"。

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語句區別

表如下 aid anum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表b記錄如下 bid bname 1 2006032401 2 2006032402 3 2006032403 4 2006032404 8 200603...

sql語句之union與join的區別

union查詢 使用 union 可以將多個select語句的查詢結果組合起來。語法 select 欄位1,欄位2 from table1 union select 欄位1,欄位2 from table2 例 注意 1 union 關鍵字兩邊的select語句的字段數量是需要一致的,並不要求欄位名稱...