易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL Server 2005 EXCEPT和INTERSECT运算符


--> Title  : SQL Server 2005EXCEPT和INTERSECT运算符
--> Author : wufeng4552
--> Date   : 2009-10-30
 
(一)概念
EXCEPT和INTERSECT运算符使您可以比较两个或多个SELECT语句的结果并返回非重复值。
(二)區別
EXCEPT运算符返回由EXCEPT运算符左侧的查询返回、而又不包含在右侧查询所返回的值中的所有非重复值。
INTERSECT返回由INTERSECT运算符左侧和右侧的查询都返回的所有非重复值。
(三)注意點
(3.1) 使用EXCEPT或INTERSECT比较的结果集必须具有相同的结构。它们的列数必须相同,并且相应的结果集列的数据类型必须兼容
(3.2) INTERSECT运算符优先于EXCEPT
(3.3) SELECT INTO必须是包含INTERSECT或EXCEPT运算符的语句中的第一个查询,用来创建容纳最终结果集的表
(3.4)ORDER BY子句中的列名或别名必须引用左侧查询返回的列名
(四)實例
SET NOCOUNT ON
--建立測試數據
DECLARE @T1 TABLE(ID INT,[NAME] VARCHAR(10))
INSERT @T1 SELECT 1,'A'
INSERT @T1 SELECT 1,'A'
INSERT @T1 SELECT 2,'B'
INSERT @T1 SELECT 2,'C'
INSERT @T1 SELECT 3,NULL
INSERT @T1 SELECT NULL,'D'
INSERT @T1 SELECT NULL,NULL
DECLARE @T2 TABLE(ID INT,[NAME] VARCHAR(10))
INSERT @T2 SELECT 1,'A'
INSERT @T2 SELECT 2,'E'
INSERT @T2 SELECT 3,'F'
DECLARE @T3 TABLE(ID INT,[NAME] VARCHAR(10))
INSERT @T3 SELECT 4,'G'
INSERT @T3 SELECT 3,NULL
INSERT @T3 SELECT 5,'H'
--1 EXCEPT从左查询中返回右查询沒有找到的所有非重复值。
--找出@T1表的中不存在@T2表的所有非重复值
SELECT * from @T1
EXCEPT
SELECT * from @T2
/*
ID          NAME
----------- ----------
NULL        NULL
NULL        D
2           B
2           C
3           NULL
*/
--MSSQL2000的版本用NOT EXISTS实现EXCEPT的功能
SELECT DISTINCT * from @T1 T
WHERE NOT EXISTS(SELECT 1 from @T2 WHERE ID=T.ID AND [NAME]=T.[NAME])
/*
ID  


相关文档:

SQL语句导入导出大全


SQL语句导入导出大全
/*******  导出到excel
EXEC master..xp_cmdshell ’bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""’
/***********  导入Excel
SELECT *
from OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’,
  ’Data Source="c:\test.xls ......

ORACLE数据库里表导入SQL Server数据库

ORACLE数据库里表导入SQL Server数据库
   
  1、在目的SQL Server数据库服务器上安装ORACLE Client软件或者ORACLE ODBC Driver.
    在$ORACLE_HOME\network\admin\tnsnames.ora里配置ORACLE数据库的别名(service name)。
   
  2、在WIN2000或者win200 ......

hibernate删除操作的sql语句写法

 
第一种:
public void deleteUser(String byemail) {
  Session session = getSession();
  Transaction transaction = null;
  String hql = "delete from Register where email=?
";
  try {
   transaction = session.beginTransactio ......

[转]SQL截取字符串

SUBSTRING
返回字符、binary、text      或      image      表达式的一部分。有关可与该函数一起使用的有效      Microsoft®      SQL      Server ......

sql存储过程语法

 
一.注释
  -- 单行注释,从这到本行结束为注释sql 语法,类似C++,c#中//
  /* … */ 多行注释,类似C++,C#中/* … */

二.变量(int, smallint, tinyint, decimal,float,real, money ,smallmoneysql 语法, text ,image, char, varchar。。。。。。)
语法:
DECLARE
&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号