1樓:曉彤
1、左連線, 左邊的表不加限制,返回包括左表中的所有記錄和右表中聯結字段相等的記錄
右連線),右邊的表不加限制,返回包括右表中的所有記錄和左表中聯結字段相等的記錄
全連線,左右兩邊的表都不加限制,只返回兩個表中聯結字段相等的行。
2、 左連線是已左邊表中的資料為基準,若左表有資料右表沒有資料,則顯示左表中的資料右表中的資料顯示為空。左聯接的結果集包括 left 子句中指定的左表的所有行,而不僅僅是聯接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有選擇列表列均為空值。
3、 右聯接是左向外聯接的反向聯接。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。
2樓:匿名使用者
left join(左聯接) 返回包括左表中的所有記錄和右表中聯結字段相等的記錄
right join(右聯接) 返回包括右表中的所有記錄和左表中聯結字段相等的記錄
inner join(等值連線) 只返回兩個表中聯結字段相等的行
舉例如下:
--------------------------------------------
表a記錄如下:
aid anum
1 a20050111
2 a20050112
3 a20050113
4 a20050114
5 a20050115
表b記錄如下:
bid bname
1 2006032401
2 2006032402
3 2006032403
4 2006032404
8 2006032408
--------------------------------------------
1.left join
sql語句如下:
select * from a
left join b
on a.aid = b.bid
結果如下:
aid anum bid bname
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
5 a20050115 null null
(所影響的行數為 5 行)
結果說明:
left join是以a表的記錄為基礎的,a可以看成左表,b可以看成右表,left join是以左表為準的.
換句話說,左表(a)的記錄將會全部表示出來,而右表(b)只會顯示符合搜尋條件的記錄(例子中為: a.aid = b.bid).
b表記錄不足的地方均為null.
--------------------------------------------
2.right join
sql語句如下:
select * from a
right join b
on a.aid = b.bid
結果如下:
aid anum bid bname
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
null null 8 2006032408
(所影響的行數為 5 行)
結果說明:
仔細觀察一下,就會發現,和left join的結果剛好相反,這次是以右表(b)為基礎的,a表不足的地方用null填充.
--------------------------------------------
3.inner join
sql語句如下:
select * from a
innerjoin b
on a.aid = b.bid
結果如下:
aid anum bid bname
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
結果說明:
很明顯,這裡只顯示出了 a.aid = b.bid的記錄.這說明inner join並不以誰為基礎,它只顯示符合條件的記錄.
--------------------------------------------
注: left join操作用於在任何的 from 子句中,組合**表的記錄。使用 left join 運算來建立乙個左邊外部聯接。
左邊外部聯接將包含了從第乙個(左邊)開始的兩個表中的全部記錄,即使在第二個(右邊)表中並沒有相符值的記錄。
語法:from table1 left join table2 on table1.field1 compopr table2.field2
說明:table1, table2引數用於指定要將記錄組合的表的名稱。
field1, field2引數指定被聯接的字段的名稱。且這些字段必須有相同的資料型別及包含相同型別的資料,但它們不需要有相同的名稱。
compopr引數指定關係比較運算子:"=", "", "=" 或 ">"。
如果在inner join操作中要聯接包含memo 資料型別或 ole object 資料型別資料的字段,將會發生錯誤.
資料庫操作中,左連線,右連線是什麼意思,舉例說明
樂海白 sql join 子句用於把來自兩個或多個表的行結合起來,基於這些表之間的共同欄位。left join 左連線 返回包括左表中的所有記錄和右表中聯結欄位相等的記錄。即使右表中沒有匹配,也從左表返回所有的行。right join 右連線 返回包括右表中的所有記錄和左表中聯結欄位相等的記錄。即使...
Oracle左連線和右連線能否簡單說明oo舉個例子
教師表和學生表,每個學生都有老師,但不一定所有老師都有學生,你現在要查詢老師教了哪些學生,即使沒學生的老師也要列出來,如果教師表和學生表直接等值連線,沒有學生的老師就不能列出來了,這就需要左連線或右連線了,具體看from後你把教師表放在左還是右了,它和位置 左右 是相反的 如果a表內容如下 dpno...
c連線資料庫方法連線到sql server或者是mysql資料庫,誰能給個例項。提供我學習
c 連線和操作sql server資料庫 用c sqlserver實現增刪改查 using system.data using system.data.sqlclient 先開啟兩個類庫檔案 sqlconnection con new sqlconnection con.connectionstri...