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語(yǔ)句,外聯(lián)結(jié)語(yǔ)句為
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 行
'*' 附近有語(yǔ)法錯(cuò)誤。
在SQLServer2005中,相應(yīng)的T-SQL語(yǔ)句應(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)境配置及問(wèn)題解決
- PHP連接SQLServer2005方法及代碼
- SQLServer2005安裝提示服務(wù)無(wú)法啟動(dòng)原因分析及解決
- SqlServer2005 數(shù)據(jù)庫(kù)同步配置圖文詳解
- sqlserver2005使用row_number() over分頁(yè)的實(shí)現(xiàn)方法
- SQL Server 2005/2008 用戶數(shù)據(jù)庫(kù)文件默認(rèn)路徑和默認(rèn)備份路徑修改方法
- sqlserver2005 安裝圖解教程以及SQL 2005 SP3補(bǔ)丁安裝圖文教程
- Sql Server 2005 默認(rèn)端口修改方法
- SQL Server 2005 還原數(shù)據(jù)庫(kù)錯(cuò)誤解決方法
- SQL Server 2005 企業(yè)版沒有 Management Studio管理工具的解決方法
- 零基礎(chǔ)學(xué)SQL Server 2005 電子教程/隨書光盤迅雷下載地址
- Sql Server 2005的1433端口打開局域網(wǎng)訪問(wèn)和進(jìn)行遠(yuǎn)程連接
相關(guān)文章
解析SQL2005中如何使用CLR函數(shù)獲取行號(hào)
本篇文章是對(duì)SQL2005中如何使用CLR函數(shù)獲取行號(hào)的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06SQLServer2005 XML數(shù)據(jù)操作代碼
在項(xiàng)目中經(jīng)常用XML文件,看看T-SQL程序設(shè)計(jì)發(fā)現(xiàn)SQLSERVER2005居然可以處理XML類型,而且還可以使用類似于Xpath的查詢語(yǔ)法查詢。2010-06-06簡(jiǎn)單實(shí)用SQL腳本Part SQLServer 2005 鏈接服務(wù)器
SQL Server 2005版本的SSMS中已經(jīng)有了 服務(wù)器對(duì)象->鏈接服務(wù)器 的功能點(diǎn),用戶首先創(chuàng)建一個(gè)遠(yuǎn)程DB的鏈接對(duì)象,之后就可以像本地表一樣執(zhí)行表的DML了。2010-09-09SQL Server 2005安裝配置方法圖文教程 完美兼容Win7所有版本
這篇文章主要為大家詳細(xì)介紹了SQL Server 2005安裝配置方法圖文教程,感興趣的小伙伴們可以參考一下2016-07-07SQLServer2005混合模式登錄配置(用戶登錄錯(cuò)誤18452,233,4064)
這篇文章主要介紹了SQLServer2005混合模式登錄配置(用戶登錄錯(cuò)誤18452,233,4064),需要的朋友可以參考下2014-07-07SQLServer無(wú)法打開用戶默認(rèn)數(shù)據(jù)庫(kù) 登錄失敗錯(cuò)誤4064的解決方法
這篇文章主要介紹了SQLServer無(wú)法打開用戶默認(rèn)數(shù)據(jù)庫(kù) 登錄失敗錯(cuò)誤4064的解決方法,需要的朋友可以參考下2015-01-01SQL Server 2005/2008 導(dǎo)入導(dǎo)出數(shù)據(jù)常見報(bào)錯(cuò)解決方法
導(dǎo)入導(dǎo)出向?qū)В凇斑x擇源表和源視圖” 頁(yè),在導(dǎo)入導(dǎo)出的表打勾之后點(diǎn)擊編輯映像,選擇“啟用標(biāo)識(shí)列插入”即可2013-11-11SQL2005CLR函數(shù)擴(kuò)展 - 關(guān)于山寨索引
對(duì)于文件索引lucene才是權(quán)威,這里只是自己實(shí)現(xiàn)了一個(gè)可以實(shí)現(xiàn)簡(jiǎn)單文件索引的半成品.所謂文件索引就是把sql字符串按字節(jié)分詞保存到磁盤文件目錄結(jié)構(gòu)中用來(lái)快速定位2013-06-06SQL2005CLR函數(shù)擴(kuò)展-繁簡(jiǎn)轉(zhuǎn)換的實(shí)現(xiàn)代碼
本篇文章是對(duì)繁簡(jiǎn)轉(zhuǎn)換的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06SQL Server 2005中的外聯(lián)結(jié)用法
這篇文章主要介紹了SQL Server 2005中的外聯(lián)結(jié)用法 ,需要的朋友可以參考下2014-08-08