SQL 連接 JOIN 例解。(左連接,右連接,全連接,內連接,交叉連接,自連接)...

[color=red]很易懂的例子解說[/color]
[url]http://www.cnblogs.com/eflylab/archive/2007/06/25/794278.html[/url]

右連接,等號右側的所有記錄都會顯示,無論在左側是否得到匹配


關於左連接、右連接、外接連總結
在9i以前可以這麼寫:
左聯:
select a.id,a.name,b.address from a,b  
where a.id=b.id(+)

右聯:
select a.id,a.name,b.address from a,b  
where a.id(+)=b.id

外聯
SELECT a.id,a.name,b.address
FROM a,b
WHERE a.id = b.id(+)
UNION
SELECT b.id,'' name,b.address
FROM b
WHERE NOT EXISTS (
SELECT * FROM a
WHERE a.id = b.id);

在9i以上,已經開始支持SQL99標準,所以,以上語句可以寫成:
默認內部聯結:
select a.id,a.name,b.address,c.subject
from (a inner join b on a.id=b.id)
inner join c on b.name = c.name
where other_clause

左聯
select a.id,a.name,b.address
from a left outer join b on a.id=b.id
where other_clause

右聯
select a.id,a.name,b.address
from a right outer join b on a.id=b.id
where other_clause

外聯
select a.id,a.name,b.address
from a full outer join b on a.id=b.id
where other_clause
or
select a.id,a.name,b.address
from a full outer join b using (id)
where other_clause
發佈了53 篇原創文章 · 獲贊 0 · 訪問量 1547
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章