手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >SQL Server 2005中的外联结用法
SQL Server 2005中的外联结用法
摘要:SQLServer2005中的外联结用法一:有两个表:学生表,学生选课表,表中数据为:学生表:学生选课表:要查看所有学生的选课信息,标准的S...

SQL Server 2005中的外联结用法一:

有两个表:学生表,学生选课表,表中数据为:

学生表:

SQL Server 2005中的外联结用法1

学生选课表:

SQL Server 2005中的外联结用法2

要查看所有学生的选课信息,

标准的SQL语句,外联结语句为

use stu_course select L.sno,sname,ssex,sage,sdept,cno,grade from student L,sc where L.sno=sc.sno(*)

理论上的结果为:

SQL Server 2005中的外联结用法3

但是,在SQLServer2005中运行会出现错误,错误提示为:

消息 102,级别 15,状态 1,第 4 行

'*' 附近有语法错误。

在SQLServer2005中,相应的T-SQL语句应该为:

use stu_course select L.sno,sname,ssex,sage,sdept,cno,grade from student L left join sc on L.sno=sc.sno

运行结果为:

SQL Server 2005中的外联结用法4

同时,还可以在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)

这时,运行结果为:

SQL Server 2005中的外联结用法5

以上这个例子是左外联结查询,即:结果表中包含第一个表中所有满足条件的

记录,如果在第二个表中有满足联结条件的记录,则返回相应的值,否则返回NULL

SQLServer2005中的外联结查询用法(续):

有三个表:学生表,学生选课表,课程表,表中数据为:

学生表:

SQL Server 2005中的外联结用法6

学生选课表:

SQL Server 2005中的外联结用法7

课程表:

SQL Server 2005中的外联结用法8

左联结查询举例:

use stu_course select L.sno,sname,ssex,sage,sdept,cno,grade from student L left join sc on L.sno=sc.sno

结果为:

SQL Server 2005中的外联结用法9

右联结查询举例:

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

结果为:

SQL Server 2005中的外联结用法10

全外联结查询举例:

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

结果为:

SQL Server 2005中的外联结用法10

如果将这个全外联中的左右两个表交换顺序:

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

结果仍为:

SQL Server 2005中的外联结用法10

由以上例子可以看出:

对于左外联结,结果表中包含第一个表中所有满足条件的记录,如果在第二个表中有满足联结条件的记录,则返回相应的值,否则返回NULL;

对于右外联结,结果表中包含第二个表中所有满足条件的记录,如果在第一个表中有满足联结条件的记录,则返回相应的值,否则返回NULL;

对于全外联结,结果表中包含两个表中所有满足条件的记录,如果在其中一个表中有满足联结条件的记录,则返回相应的值,否则返回NULL;

【SQL Server 2005中的外联结用法】相关文章:

SQL Server 游标使用

SQLServer中的事务和锁

SQL Server 2008商业智能详解

SQL Server 工作技巧

SQL Server 临时表的删除

SQL Server 表交叉显示及实现方法

SQL Server CROSS APPLY和OUTER APPLY的应用详解

SQL Server2005异地自动备份方法

SQL Server 2012 将数据导出为脚本

解决SQL Server 表或索引的碎片问题

精品推荐
分类导航