SQL左 右 內 全連線

2022-03-08 09:07:48 字數 1449 閱讀 7710

典型的聯接運算,包括在查詢語句中使用像 =  或 <> 之類的比較運算子。內聯接使用比較運算子根據每個表共有的列的值匹配兩個表中的行。

例如,檢索表 a 和 b 表中 id 與 pid 相同的項,查詢語句如下所示:

select a.*,b.*

from a inner

join b on a.id=b.pid

查詢結果如下所示:

外連線可以是左向外聯接、右向外聯接或完整外部聯接。在 from子句中指定外聯接時,可以由下列幾組關鍵字中的一組指定:

左向外聯接的結果集包括  left outer子句中指定的左表的所有行,而不僅僅是聯接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關聯的結果集行中右表的所有選擇列表列均為空值。

例如將之前的表 a 的 id 與表 b 的 pid 進行左連線,查詢語句如下所示:

select a.*,b.*

from a left

join b on a.id=b.pid

查詢結果如下所示:

右向外聯接是左向外聯接的反向聯接。將返回右表的所有行。如果右表的某行在左表中沒有匹配行,則將為左表返回空值。

例如將之前的表 a 的 id 與表 b 的 pid 進行右連線,查詢語句如下所示:

select a.*,b.*

from a right

join b on a.id=b.pid

查詢結果如下所示:

查詢結果如下所示:

其結果與以下查詢語句等價:

select  a.*,b.*

from a left

outer

join b on a.id=

b.pid

union

select a.*,b.*

from a right

outer

join b on a.id=b.pid

內 左 右 全連線查詢

sql中的連線查詢有inner join 內連線 left join 左連線 right join 右連線 full join 全連線 四種方式,它們之間其實並沒有太大區別,僅僅是查詢出來的結果有所不同。例如我們有兩張表 orders表通過外來鍵id p和persons表進行關聯。我們使用inner...

sql中的表連線,左右連線 內連線及全連線的詳解

內連線 inner join 分為等值連線及不等值連線 區分條件為連線條件是否為 內連線只顯示滿足on條件的資料而外連線會保留下某一表的全部資料。左連線及右連線 left join right join 左連線顯示左表的所有行,如果右表沒有與左表相匹配的行則記錄為null值,以on作為連線條件。全連...

左右內連線

例表a aid adate 1 a1 2 a2 3 a3 表bbid bdate 1 b1 2 b2 4 b4 兩個表a,b相連線,要取出id相同的字段 select from a inner join b on a.aid b.bid這是僅取出匹配的資料.此時的取出的是 1 a1 b1 2 a2 ...