• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >MsSql > SQL Server 2005中的外联结用法

SQL Server 2005中的外联结用法

作者:阳阳 字体:[增加 减小] 来源:互联网 时间:2017-05-11

阳阳通过本文主要向大家介绍了sql server 2005,sql server 2005下载,sql server 2005教程,sql server 2005 sp4,sql server 2005 sp3等相关知识,希望本文的分享对您有所帮助

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

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

学生表:

学生选课表:

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

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

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

理论上的结果为:

但是,在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
</div>

运行结果为:

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

</div>

这时,运行结果为:

 

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

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

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

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

学生表:

学生选课表:

课程表:

 左联结查询举例:

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

</div>

结果为:

右联结查询举例:

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

</div>

结果为:

全外联结查询举例:

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

</div>

结果为:

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

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

</div>

结果仍为:

由以上例子可以看出:

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

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

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SQL Server 2005安装配置方法图文教程 完美兼容Win7所有版本
  • sql server 关于设置null的一些建议
  • SQL Server 2005 中使用 Try Catch 处理异常
  • SQL Server 2005 Management Studio Express企业管理器将英文变成简体中文版的实现方法
  • SQL server 2005中设置自动编号字段的方法
  • SQL Server 2005 定时执行SQL语句的方法
  • SQL Server 2005 开启数据库远程连接的方法
  • SQL server 2005将远程数据库导入到本地的方法
  • 安装SQL server 2005 出现警告 32位ASP.NET已经注册,需要注册64位的解决方法
  • Sql server 2005安装时ASP.Net版本注册要求警告的解决方法

相关文章

  • 2017-05-11SQL Server 2008安装图解(详细)
  • 2017-05-11java之File对象对文件的操作常用的几个方法(推荐)
  • 2017-05-11安装SqlServer2005时版本变更检查 (警告)
  • 2017-05-11Win2003系统下SQL Server 2008安装图解教程(详细图解)
  • 2017-05-11shp2sqlserver 用法简析
  • 2017-05-11sql server 2008 r2 express 精简版与企业版的区别
  • 2017-05-11sqlserver 2008手工修改表结构,表不能保存的问题与解决方法
  • 2017-05-11SQL 2005使用专用管理员连接(DAC)的技巧及修改系统表的方法
  • 2017-05-11监视SQLServer数据库镜像[图文]
  • 2017-05-11将DataTable作为存储过程参数的用法实例详解

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • SQL Server2005下的安全操作技巧分享
    • sqlserver 2008手工修改表结构,表不能保存的问题与解决方法
    • SQL2005 学习笔记 公用表表达式(CTE)
    • SQL计算字符串中最大的递增子序列的方法
    • Windows7下Microsoft SQL Server 2008安装图解和注意事项
    • win2008 r2安装SQL SERVER 2008 R2 不能打开1433端口设置方法
    • SQL SERVER 2008数据库引擎详细介绍
    • Win7 安装软件时无法连接sql server解决方法
    • SQL Server附加数据库出错,错误代码5123
    • 安装MSSql2005时 “以前的某个程序安装已在安装计算机上创建挂起” 的解决办法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有