mssql sqlserver 操作结果集的方法分享(三)–intersect


摘要:
下文将从intersect关键字的功能及举例上介绍intersect关键字的用法,如下所示:
实验环境:sql server 2008 R2



intersect关键字的功能简介

intersect关键字首次出现在sqlserver 2005的版本上。
intersect关键字的功能返回 同时包含在”左则的结果集和右则的结果集”的行信息,并排除重复行。
—–intersect关键字语法说明——–

  [结果集1]  
 intersect
   [结果集2]
 intersect
   [结果集3]
    ....
/*
  运行方法:
   首先由 "[结果集1] "同“[结果集2] ”进行intersect运算,然后将得到的结果集同"[结果集3] "
   ----或理解为:同时包含在  [结果集1]   [结果集2]   [结果集3]中的行信息。
   并剔除返回结果中的重复行
*/


intersect关键字的举例应用

   select a,b,c from table1
  intersect
   select c,d,e from table2
-----当列a 不存在null值,intersect语句同下面的语句具有相同的功能---
  select a,b,c from table1 
      where exists(
     select null from table2 where c=a
     )


intersect关键字注意事项:
1.[结果集1] 、[结果集2]、[结果集3]
需具有相同的结构,或 [结果集2]、[结果集3]
可隐式的转换为”[结果集1]”的结构。
2.在intersect关键字中,两个null值被认为是相等的值。
3.如果 “[结果集1] 、[结果集2]、[结果集3]” 中同时包含null值,则返回null值。