SQL Server 2005中的外聯(lián)結(jié)用法
SQL Server 2005中的外聯(lián)結(jié)用法一:
有兩個(gè)表:學(xué)生表,學(xué)生選課表,表中數(shù)據(jù)為:
學(xué)生表:

學(xué)生選課表:

要查看所有學(xué)生的選課信息,
標(biāo)準(zhǔn)的SQL語句,外聯(lián)結(jié)語句為
use stu_course select L.sno,sname,ssex,sage,sdept,cno,grade from student L,sc where L.sno=sc.sno(*)
理論上的結(jié)果為:

但是,在SQLServer2005中運(yùn)行會(huì)出現(xiàn)錯(cuò)誤,錯(cuò)誤提示為:
消息 102,級(jí)別 15,狀態(tài) 1,第 4 行
'*' 附近有語法錯(cuò)誤。
在SQLServer2005中,相應(yīng)的T-SQL語句應(yīng)該為:
use stu_course select L.sno,sname,ssex,sage,sdept,cno,grade from student L left join sc on L.sno=sc.sno
運(yùn)行結(jié)果為:

同時(shí),還可以在on后面再加上where限定條件:
use stu_course select L.sno,sname,ssex,sage,sdept,cno,grade from student L left join sc on L.sno=sc.sno where L.sno in(95001,95002,95003,95004)
這時(shí),運(yùn)行結(jié)果為:
以上這個(gè)例子是左外聯(lián)結(jié)查詢,即:結(jié)果表中包含第一個(gè)表中所有滿足條件的
記錄,如果在第二個(gè)表中有滿足聯(lián)結(jié)條件的記錄,則返回相應(yīng)的值,否則返回NULL
SQLServer2005中的外聯(lián)結(jié)查詢用法(續(xù)):
有三個(gè)表:學(xué)生表,學(xué)生選課表,課程表,表中數(shù)據(jù)為:
學(xué)生表:

學(xué)生選課表:

課程表:

左聯(lián)結(jié)查詢舉例:
use stu_course select L.sno,sname,ssex,sage,sdept,cno,grade from student L left join sc on L.sno=sc.sno
結(jié)果為:

右聯(lián)結(jié)查詢舉例:
use stu_course select sno,course.cno,course.cname from sc right join course on sc.cno=course.cno
結(jié)果為:

全外聯(lián)結(jié)查詢舉例:
use stu_course select sno,course.cno,course.cname from sc full join course on sc.cno=course.cno
結(jié)果為:

如果將這個(gè)全外聯(lián)中的左右兩個(gè)表交換順序:
use stu_course select sno,course.cno,course.cname from course full join sc on sc.cno=course.cno
結(jié)果仍為:

由以上例子可以看出:
對(duì)于左外聯(lián)結(jié),結(jié)果表中包含第一個(gè)表中所有滿足條件的記錄,如果在第二個(gè)表中有滿足聯(lián)結(jié)條件的記錄,則返回相應(yīng)的值,否則返回NULL;
對(duì)于右外聯(lián)結(jié),結(jié)果表中包含第二個(gè)表中所有滿足條件的記錄,如果在第一個(gè)表中有滿足聯(lián)結(jié)條件的記錄,則返回相應(yīng)的值,否則返回NULL;
對(duì)于全外聯(lián)結(jié),結(jié)果表中包含兩個(gè)表中所有滿足條件的記錄,如果在其中一個(gè)表中有滿足聯(lián)結(jié)條件的記錄,則返回相應(yīng)的值,否則返回NULL;
- PHP連接sql server 2005環(huán)境配置及問題解決
- PHP連接SQLServer2005方法及代碼
- SQLServer2005安裝提示服務(wù)無法啟動(dòng)原因分析及解決
- SqlServer2005 數(shù)據(jù)庫同步配置圖文詳解
- sqlserver2005使用row_number() over分頁的實(shí)現(xiàn)方法
- SQL Server 2005/2008 用戶數(shù)據(jù)庫文件默認(rèn)路徑和默認(rèn)備份路徑修改方法
- sqlserver2005 安裝圖解教程以及SQL 2005 SP3補(bǔ)丁安裝圖文教程
- Sql Server 2005 默認(rèn)端口修改方法
- SQL Server 2005 還原數(shù)據(jù)庫錯(cuò)誤解決方法
- SQL Server 2005 企業(yè)版沒有 Management Studio管理工具的解決方法
- 零基礎(chǔ)學(xué)SQL Server 2005 電子教程/隨書光盤迅雷下載地址
- Sql Server 2005的1433端口打開局域網(wǎng)訪問和進(jìn)行遠(yuǎn)程連接
相關(guān)文章
Win2008中安裝的MSSQL2005后無法訪問的解決方法
最近筆者一直在使用Win2008系統(tǒng),不過發(fā)現(xiàn)一個(gè)很奇怪的問題,那就是在該系統(tǒng)上安裝了SQL2005后,再在其他計(jì)算機(jī)訪問該主機(jī)顯示不能訪問2014-07-07
SQL Server 2005安裝實(shí)例環(huán)境圖解
對(duì)于大多數(shù)的數(shù)據(jù)庫管理員和開發(fā)人員來說,安裝并配置一個(gè)新的SQL Server是激動(dòng)人心的任務(wù),因?yàn)樗梢詭砣碌奶魬?zhàn)和機(jī)會(huì)2012-07-07
SQL SERVER 2005數(shù)據(jù)庫還原的方法
這篇文章主要介紹了SQL SERVER 2005數(shù)據(jù)庫還原的方法,有需要的朋友可以參考一下2013-11-11
sql2005 數(shù)據(jù)庫轉(zhuǎn)為sql2000數(shù)據(jù)庫的方法(數(shù)據(jù)導(dǎo)出導(dǎo)入)
今天一網(wǎng)友問我如何將sql2005數(shù)據(jù)庫轉(zhuǎn)換為sql2000,因?yàn)閟ql2005不如用sql2000更簡單與熟悉,其實(shí)就是通過數(shù)據(jù)導(dǎo)出導(dǎo)入的方法即可,這里分享下方便需要的朋友2012-11-11
PowerDesigner16生成SQL2005列注釋的方法
使用PowerDesigner16生成SQL2005列注釋,其實(shí)很簡單,下面我們就看看方法2013-11-11
SQL2005CLR函數(shù)擴(kuò)展-解析天氣服務(wù)的實(shí)現(xiàn)
其實(shí)我們可以用CLR獲取網(wǎng)絡(luò)服務(wù),來顯示到數(shù)據(jù)庫自定函數(shù)的結(jié)果集中,比如163的天氣預(yù)報(bào)。需要的朋友參考下2013-06-06
sql2005附加數(shù)據(jù)庫操作步驟(sql2005還原數(shù)據(jù)庫)
本文介紹了sql2005附加數(shù)據(jù)庫的操作步驟,簡單幾步就可以完成,大家參考使用吧2014-01-01

