网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.讲解ASE12.5.1以后提供的WebServ.
.使用 SQL Server 2005 数据库镜像.
.在SQL Server 2000里设置和使用数.
.SQL Server中读取XML文件的简单做.
.带你轻松接触数据库命名规范的相.
.初学者必读:精讲SQL中的时间计算.
.怎样在SQL Server 2005中用证书加.
.利用SQL语句对不同数据库进行高效.
.使用XML封装数据库操作语句的实现.
.SQL Server性能分析参数 .
.循序渐进讲解Informix SQL的十一.
.一些比较常见的SQL Server扩展存.
.详细介绍查询优化技术在现实系统.
.教你轻松掌握Informix数据库的日.
.使用正规表达式编写更好的SQL.
.在Linux下访问MS SQL Server数据.
.深入探讨SQL Server 2008商务智能.
.如何用SQL写出当M*N时的螺旋矩阵.
.自己改写的一个sql server 2000的.
.教你如何在SQL Server数据库中加.

sql server 2005中的except和INTERSECT运算

发表日期:2007-1-26


一直学数据库的都知道,关系运算有交,差,并,等运算,而之前的版本一直只看到并,好象很少看到有差,交的运算显式的表达在操作SQL语句中,现在好了,SQL SERVER 2005中有差,交运算了,分别是except和intersect,、今天看到,学习之,并举例如下:

EXCEPT 和 INTERSECT 运算符使您可以比较两个或多个 SELECT 语句的结果并返回非重复值。EXCEPT 运算符返回由 EXCEPT 运算符左侧的查询返回、而又不包含在右侧查询所返回的值中的所有非重复值。INTERSECT 返回由 INTERSECT 运算符左侧和右侧的查询都返回的所有非重复值。使用 EXCEPT 或 INTERSECT 比较的结果集必须具有相同的结构。它们的列数必须相同,并且相应的结果集列的数据类型必须兼容。

MSDN上的例子能说明问题:

TableA (col1 int) TableB (col1 int) TableC (col1 int)

NULL

NULL

2

NULL

1

2

NULL

3

2

1

4

4

2

4

4

2

   

2

   

3

   

4

   

4

使用 EXCEPT,以下查询将返回由 EXCEPT 操作数左侧的查询返回、而又不包含在右侧查询所返回的值中的所有非重复值。

 
SELECT * FROM TableA EXCEPT SELECT * FROM TableB
结果如下:

Col1      
-----------
2

(1 row(s) affected)
使用 INTERSECT,此查询将返回由 INTERSECT 运算符左侧和右侧的查询都返回的所有非重复值。

 
SELECT * FROM TableA INTERSECT SELECT * FROM TableB
结果如下:

 
Col1-----------NULL134(4 row(s) affected)
INTERSECT 运算符优先于 EXCEPT。例如,以下查询使用了这两个运算符:

 
SELECT * FROM TableA EXCEPT SELECT * FROM TableB INTERSECT SELECT * FROM TableC
结果如下:

Col1      
-----------
NULL
1
2
3

(4 row(s) affected)
http://blog.csdn.net/lee576/archive/2007/01/25/1493671.aspx

上一篇:SQL 视图效率和连接超时设置 人气:4333
下一篇:mssql默认不区分大小写;向excel中写入长整型时异常 人气:3771
浏览全部sql server 2005的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐