sql的外连接包括_sql几种连接方式(廖雪峰的官方网站)
簡述SQL中的“外連接”
1、SQL中外連接分為三種:左外連接、右外連接、全外連接。
2、英文書寫格式:
左外連接:LEFT OUTER JOIN(LEFT JOIN);
右外連接:RIGHT OUTER JOIN(RIHT JOIN);
全外連接:FULL OUTER JOIN(FULL JOIN)。
3、簡記:
左外連接顯示“左邊全部的”和“右邊與左邊相同的”;
右外連接顯示“右邊全部的”和“左邊與右邊相同的”;
全外連接顯示左、右兩邊全部的。
4、舉例:
(1)查詢所有球員及對應(yīng)球隊的記錄,包括沒有對應(yīng)球隊的球員記錄?(處于自由狀態(tài)的球員暫時不歸屬于任何球隊)
(2)查詢所有球員及對應(yīng)球隊的記錄,包括沒有任何球員的球隊記錄?(假設(shè)因戰(zhàn)爭等原因而不能組建的某國家隊,在表中存有球隊信息但是沒有對應(yīng)球員名單)
(3)查詢所有球員及對應(yīng)球隊的記錄,包括沒有任何球員的球隊記錄,并且包括不歸屬于任何球隊的球員的記錄?
5、查詢語句:
(1)查詢所有球員及對應(yīng)球隊的記錄,包括沒有對應(yīng)球隊的球員記錄?
SELECT p.team_id,p.player_name,t.team_name
FROM playerlist p LEFT OUTER JOIN teamlist t ON(p.team_id=t.team_id);
等價于
SELECT p.team_id,p.player_name,t.team_name
FROM playerlist p,teamlist t WHERE p.team_id=t.team_id(+);
(2)查詢所有球員及對應(yīng)球隊的記錄,包括沒有任何球員的球隊記錄?
SELECT p.team_id,p.player_name,t.team_name
FROM playerlist pRIGHT OUTER JOIN teamlist t ON(p.team_id=t.team_id);
等價于
SELECT p.team_id,p.player_name,t.team_name
FROM playerlist p,teamlist t WHERE p.team_id(+)=t.team_id;
(3)查詢所有球員及對應(yīng)球隊的記錄,包括沒有任何球員的球隊記錄,并且包括不歸屬于任何球隊的球員的記錄?
SELECT p.team_id,p.player_name,t.team_name
FROM playerlist pFULL OUTER JOIN teamlist t ON(p.team_id=t.team_id);
6、圖例
通過圖例結(jié)合第5點查看SQL語句:
|
player_list |
|
|
team_id |
player_name |
|
00001 |
卡卡 |
|
00002 |
貝克漢姆 |
|
00004 |
齊達(dá)內(nèi) |
|
team_list |
|
|
team_id |
team_name |
|
00001 |
巴西隊 |
|
00003 |
盧旺達(dá) |
|
00005 |
伊拉克 |
|
查詢所有球員及對應(yīng)球隊的記錄,包括沒有對應(yīng)球隊的球員記錄 |
||
|
team_id |
player_name |
team_name |
|
00001 |
卡卡 |
巴西隊 |
|
00002 |
貝克漢姆 |
|
|
00004 |
齊達(dá)內(nèi) |
|
|
查詢所有球員及對應(yīng)球隊的記錄,包括沒有任何球員的球隊記錄 |
||
|
team_id |
player_name |
team_name |
|
00001 |
卡卡 |
巴西隊 |
|
00003 |
盧旺達(dá) |
|
|
00005 |
盧森堡 |
|
|
查詢所有球員及對應(yīng)球隊的記錄,包括沒有任何球員的球隊記錄,并且包括不歸屬于任何球隊的球員的記錄 |
||
|
team_id |
player_name |
team_name |
|
00001 |
卡卡 |
巴西隊 |
|
00002 |
貝克漢姆 |
|
|
00003 |
盧旺達(dá) |
|
|
00004 |
齊達(dá)內(nèi) |
|
|
00005 |
盧森堡 |
|
***********************************************聲明************************************************
原創(chuàng)作品,出自 “深藍(lán)的blog” 博客,歡迎轉(zhuǎn)載,轉(zhuǎn)載時請務(wù)必注明出處(http://blog.csdn.net/huangyanlong)。
表述有錯誤之處,請您留言,不勝感激。
*****************************************************************************************************
補充:
等號在(+)的左側(cè),為左外連接,左邊表數(shù)據(jù)全部顯示;
等號在(+)的右側(cè),為右外連接,右邊表數(shù)據(jù)全部顯示。
總結(jié)
以上是生活随笔為你收集整理的sql的外连接包括_sql几种连接方式(廖雪峰的官方网站)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML占位符_怎么使用占位符(超文本标
- 下一篇: 集美们是什么意思