数据库技巧

  |  手机版

收藏网站

投稿QQ:1745232315

IT专家网,汇聚专业声音 解析IT潮流 IT专家网,汇聚专业声音 解析IT潮流

网络

专家视点在现场环球瞭望
IT专家网 > 数据库子站 > 数据库技巧

SQL Server 2005总结:EXCEPT和INTERSECT运算符

作者:aierong出处:blog2008-08-26 08:10

  1.简介

  EXCEPT和INTERSECT运算符使您可以比较两个或多个SELECT语句的结果并返回非重复值。

  2.区别

  EXCEPT运算符返回由EXCEPT运算符左侧的查询返回、而又不包含在右侧查询所返回的值中的所有非重复值。

  INTERSECT返回由INTERSECT运算符左侧和右侧的查询都返回的所有非重复值。

  3.注意事项

  (1).使用EXCEPT或INTERSECT比较的结果集必须具有相同的结构。它们的列数必须相同,并且相应的结果集列的数据类型必须兼容

  (2).INTERSECT运算符优先于EXCEPT

  (3).SELECT INTO必须是包含INTERSECT或EXCEPT运算符的语句中的第一个查询,用来创建容纳最终结果集的表

  (4).ORDER BY子句中的列名或别名必须引用左侧查询返回的列名

  4.例题:

  --建立3个表,分别插入数据

   create table TableA(col1 int)
  insert into TableA select 1
  insert into TableA select 1
  insert into TableA select 2
  insert into TableA select 3
  insert into TableA select 4
  insert into TableA select 4
  insert into TableA select 5
  insert into TableA select null
  insert into TableA select null
  create table TableB(col2 int)
  insert into TableB select null
  insert into TableB select 1
  insert into TableB select 2
  insert into TableB select 3
  create table TableC(col3 int)
  insert into TableC select 1
  insert into TableC select 5
  insert into TableC select 6

  --利用EXCEPT

  --找出TableA表的col1列不存在Tablec表col1列的所有非重复值

   SELECT col1 FROM TableA
  EXCEPT
  SELECT col3 FROM Tablec

相关文章

关键词:SQLServer2005 技巧

责任编辑:王晓晨

专题推荐

原创文章

微博互动

白皮书

网警备案