典型的聯接運算,包括在查詢語句中使用像 = 或 <> 之類的比較運算子。內聯接使用比較運算子根據每個表共有的列的值匹配兩個表中的行。
例如,檢索表 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 ...