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語句的字段數量是需要一致的,並不要求欄位名稱...