欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQL Server 2005中的外聯(lián)結(jié)用法

 更新時間:2014年08月11日 00:42:16   作者:陽陽  
這篇文章主要介紹了SQL Server 2005中的外聯(lián)結(jié)用法 ,需要的朋友可以參考下

SQL Server 2005中的外聯(lián)結(jié)用法一:

有兩個表:學生表,學生選課表,表中數(shù)據(jù)為:

學生表:

學生選課表:

要查看所有學生的選課信息,

標準的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中運行會出現(xiàn)錯誤,錯誤提示為:

消息 102,級別 15,狀態(tài) 1,第 4 行
'*' 附近有語法錯誤。 

在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

運行結(jié)果為:

同時,還可以在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)

這時,運行結(jié)果為:

 

以上這個例子是左外聯(lián)結(jié)查詢,即:結(jié)果表中包含第一個表中所有滿足條件的

記錄,如果在第二個表中有滿足聯(lián)結(jié)條件的記錄,則返回相應(yīng)的值,否則返回NULL

SQLServer2005中的外聯(lián)結(jié)查詢用法(續(xù)):

有三個表:學生表,學生選課表,課程表,表中數(shù)據(jù)為:

學生表:

學生選課表:

課程表:

 左聯(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é)果為:

如果將這個全外聯(lián)中的左右兩個表交換順序:

use stu_course
select sno,course.cno,course.cname
from course full join sc
on sc.cno=course.cno

結(jié)果仍為:

由以上例子可以看出:

       對于左外聯(lián)結(jié),結(jié)果表中包含第一個表中所有滿足條件的記錄,如果在第二個表中有滿足聯(lián)結(jié)條件的記錄,則返回相應(yīng)的值,否則返回NULL; 

       對于右外聯(lián)結(jié),結(jié)果表中包含第二個表中所有滿足條件的記錄,如果在第一個表中有滿足聯(lián)結(jié)條件的記錄,則返回相應(yīng)的值,否則返回NULL; 

       對于全外聯(lián)結(jié),結(jié)果表中包含兩個表中所有滿足條件的記錄,如果在其中一個表中有滿足聯(lián)結(jié)條件的記錄,則返回相應(yīng)的值,否則返回NULL;

相關(guān)文章

最新評論