频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

7.4.6 集合运算在Transact-SQL语句中的使用原则

作者: 马军/李玉林等编著 出处:电子工业出版社  2008-06-05 13:23    砖    好    评论   进入论坛
阅读提示:《SQL语言与数据库操作技术大全:基于SQL Server实现》第7章将主要介绍如何在SELECT语句中,使用JOIN关键字进行多表连接实现查询。本节为您介绍集合运算在Transact-SQL语句中的使用原则。

7.4.6  集合运算在Transact-SQL语句中的使用原则

与其他Transact-SQL语句一起使用UNION、EXCEPT和INTERSECT运算符时,需要遵循以下的使用原则:
 
第一个查询可以包含一个INTO子句,用来创建容纳最终结果集的表。只有第一个查询可以使用INTO子句。如果INTO子句出现在其他位置,SQL Server 2005将显示错误消息。
 
ORDER BY子句只能在语句的结尾处使用,不能在构成语句的各个查询中使用ORDER BY子句。

★ 注意 ★

只有在顶级查询而不是子查询中使用UNION、EXCEPT和INTERSECT时,才能使用ORDER BY子句。
 
GROUP BY和HAVING子句只能在各个查询中使用,它们不能用于影响最终结果集。
 
UNION、EXCEPT和INTERSECT可以在INSERT语句中使用。

在执行集合运算操作时,默认按照最后结果表中第一列数据的升序方式排列记录。且各SELECT子句不能含有ORDER BY子句,但是可以将ORDER BY子句放在最后的SELECT语句后面,以便对最后的结果表排序。

实例23  使用ORDER BY子句对集合运算结果排序

本实例将在实例17的集合并运算的基础上,通过使用ORDER BY子句对结果集按照bookcount字段的降序方式排列。实例代码如下:

 USE Library
SELECT readerid,readername,unit,bookcount
FROM ReaderInfo
WHERE unit='计算机系'
UNION
SELECT readerid,readername,unit,bookcount
FROM ReaderInfo
WHERE bookcount>2
ORDER BY bookcount DESC

运行代码,结果如图7.37所示。

ORDER BY子句可以对任何列名排序,在SQL Server中,由于结果表把第一条SELECT语句中的列名作为结果表中的列名,因此,ORDER BY子句中指定的列名必须为第一个SELECT语句中表的列名。

  
图7.37  实例运行结果


★ 说明 ★

使用ORDER BY子句排序UNION运算结果时,应尽量使用指定位置列序号的方式,这样可以避免出错。

【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节
专题
Sun以10亿美元并购开源数据库厂商MySQL
Oracle数据库开发之PL/SQL基础应用
Oracle数据库开发基础教程
2006年数据库频道热点关注
数据库安全技术专题
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
隐私保护技术探讨
隐私保护技术探讨
访问控制列表(ACL)介绍
访问控制列表(ACL)介绍
Windows Server 2008专题
Windows Server 2008专题
· Windows Server 2008专..
· 华为员工自杀频频拷问..
· 勇闯IT培训黑色围城
· CISSP认证成长之路
· 解析35岁技术人的价值..
· 网络工程师职业规划与..
· LAMP技术精解
· AMD Phenom三核处理器..
· 充电计划之热门IT认证..
· 如何有效防御SQL注入攻..
· 2008年上半年全国软考..
· 选择适合自己的IT认证
· IPv6协议--拓展网络无..
· 了解统一威胁管理(UTM)..
· 调查:十大发现 解秘技..
· 技术人求职简历完备手册
ARP攻击防范与解决方案
ARP攻击防范与解决方案
iSCSI应用与发展
iSCSI应用与发展
SQL Server 2008/2005全解
SQL Server 2008/2005全解
· SQL Server 2008/2005..
· SOA 面向服务架构
· SQL Server 2008/2005..
· iSCSI应用与发展
· Apache技术专题
· 三层交换技术专题
· SQL Server入门到精通
· Apache技术专题
· 国际文档格式标准开战
· 路由器设置与口令恢复
· 打造安全服务器
· PHP开发应用手册
· SOA 面向服务架构
· 企业数据恢复指南
· 了解统一威胁管理(UTM)..
· 专题:AIX操作系统管理..
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
iSCSI应用与发展
iSCSI应用与发展
· iSCSI应用与发展
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· Apache技术专题
· iSCSI应用与发展
· 三层交换技术专题
· Apache技术专题
· 企业数据恢复指南
· 路由器设置与口令恢复
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· 反垃圾邮件技术应用
· 访问控制列表(ACL)介绍
· PHP开发应用手册
· 专题:AIX操作系统管理..