知识大全 EXCEPT和MINUS操作符

Posted 操作

篇首语:入于污泥而不染不受资产阶级糖衣炮弹的侵蚀,是最难能可贵的革命品质。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 EXCEPT和MINUS操作符相关的知识,希望对你有一定的参考价值。

SQL实战新手入门:EXCEPT和MINUS操作符  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   EXCEPT和MINUS操作符

  数据库程序设计的目标就是最大限度地减少需要通过网络传送的数据量 并消除客户端不必要的处理过程 也就是说 只向RDBMS请求需要的数据 不触动其余任何之物 INTERSECT操作符可以求取两个查询结果的交集 而EXCEPT操作符则用于求取两个查询结果的差集

  INTERSECT操作符和EXCEPT操作符是一种便利的表示方式 可以使用INNER JOIN和OUTER JOIN来分别替代它们(加上某些调整 消除重复的记录)

  在上面的例子中 如果使用EXCEPT操作符代替INTERSECT操作符 查询结果将显示在书柜上还没有分配到位置的所有图书(即在LOCATION表中没有相应的记录)

  SELECT bk_id FROM books

  EXCEPT

  SELECT fk_bk_loc FROM location;

  bk_id

  

  ( row(s) affected)

  该查询仅返回在BOOKS表中存在的同时在LOCATION表中不存在相应记录的记录 在本章结尾的练习中将尝试使用INTERSECT操作符和EXCEPT操作符

  可以使用NOT EXISTS操作符和相关子查询来代替EXCEPT(或MINUS)关键字 虽然没有获得SQL标准委员会的官方支持 但所有RDBMS都支持这种语法(除了在OpenOffice中作为嵌入式RDBMS的HSQLDB例外)

  DB Microsoft SQL Server和PostgreSQL都实现了EXCEPT关键字 Oracle则使用MINUS关键字 MySQL和HSQLDB既支持EXCEPT操作符 又支持MINUS关键字 Microsoft Access对两者都不支持

  试一试求取数据集的差集

  为了进一步观察数据集操作符(例如INTERSECT操作符和EXCEPT操作符)的使用 下面将在已经完美匹配的数据中添加一些新数据 在本章之前讨论LEFT OUTER JOIN时已经执行过类似的操作 在下面的练习中可以再次使用相同的记录

  接下来将在BOOKS表中添加一条不匹配的记录 用于演示INTERSECT操作符和EXCEPT操作符的应用

  ( ) 打开Microsoft SQL Server Management Studio 使用Windows身份验证连接到数据库

  ( ) 单击位于左上角的New Query按钮

  ( ) 在打开的查询窗口(中间的窗格)中输入下面的SQL查询

  INSERT INTO books (bk_id bk_title)

  VALUES ( UNMATCHED RECORD )

  ( ) 现在BOOKS表中已经具有一条新记录 该记录在LOCATION表中没有对应的位置 此时使用INTERSECT操作符和EXCEPT操作符将查询到什么结果呢?首先 执行一个使用INTERSECT操作符的查询

  SELECT bk_id FROM books

  INTERSECT

  SELECT fk_bk_loc FROM location;

  ( ) 可以预见 该查询只会返回 条记录 BOOKS表与LOCATION表中都匹配的记录

  ( ) 运行使用EXCEPT操作符的查询将产生一个不同的结果

  SELECT bk_id FROM books

  EXCEPT

  SELECT fk_bk_loc FROM location;

  bk_id

  

  

  ( row(s) affected)

  示例说明

  在将一条新记录插入到BOOKS表之后 BOOKS表中包含了 条记录 但只有 条记录在LOCATION表中具有相匹配的记录 这模拟了买到一本新书但还没有在书柜中分配图书摆放位置的情形 INTERSECT操作符仅返回那些在两个表中都匹配的记录 因此 BK_ID = 的记录将被排除在外

  当运行EXCEPT查询时 将分别从BOOKS表和LOCATION表中抽取匹配的记录 并将不匹配的记录返回 在本例中 不匹配的记录就是新插入的UNMATCHED RECORD这条记录

       返回目录 SQL实战新手入门

       编辑推荐

       Oracle索引技术

       高性能MySQL

cha138/Article/program/SQL/201311/16454

相关参考

知识大全 在T-SQL中实现Oracle的MINUS集合运算符

在T-SQL中实现Oracle的MINUS集合运算符  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 java程序设计与问题解决

  异常处理允许读者为程序的正常情况单独设计和编写代码并与不正常情况下的处理代码分开  throw语句的作用类似一个方法调用但它并没有去调用一个方法而是调用了catch块  预定义的异常类Except

知识大全 c#中的using和as操作符的详细讲解

  这个操作符在小处非常有用   using  using语句定义一个范围在此范围的末尾将处理对象  举例  classTestUsing:IDisposable    

阐述风力发电机组手动启动和停机的操作方式有哪些?

  主控室操作,在主控室操作计算机启动键和停机键;就地操作,断开遥控操作开关,在风电机组的控制盘上,操作启动停机按钮,操作后再合上遥控开关;远程操作,在远程终端上操作启动键和停机键;机舱上操作,在机舱

阐述风力发电机组手动启动和停机的操作方式有哪些?

  主控室操作,在主控室操作计算机启动键和停机键;就地操作,断开遥控操作开关,在风电机组的控制盘上,操作启动停机按钮,操作后再合上遥控开关;远程操作,在远程终端上操作启动键和停机键;机舱上操作,在机舱

知识大全 PHP的目录操作和文件操作

PHP的目录操作和文件操作  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在任何计算机设备中文件

知识大全 wcf多线程和异步操作

  按照操作执行所需的资源类型我们可以将操作分为cpu绑定型操作和I/O绑定型操作前者主要是利用cpu进行密集运算后者大部分操作处理时间花在I/O处理上(比如文件系统网络资源)对于I/O绑定型的操作我

何为电气误操作、热机误操作和监控过失?

  二锅头  一般电气误操作:  (l)误(漏)拉合断路器(开关);  (2)下达错误调度命令,错误安排运行方式,错误下达继电保护及安全自动装置定值或错误下达其投、停命令;  (3)继电保护及安全自动

何为电气误操作、热机误操作和监控过失?

  二锅头  一般电气误操作:  (l)误(漏)拉合断路器(开关);  (2)下达错误调度命令,错误安排运行方式,错误下达继电保护及安全自动装置定值或错误下达其投、停命令;  (3)继电保护及安全自动

操作和执行单元的操作器校准项目与技术标准有哪些?

操作和执行单元的操作器校准项目与技术标准有哪些?参考答案:1、输出电流表示值误差校准(1)在全量程范围内,输入信号以量程的20%,依次递增至各校准点,然后再依次递减至各校准点,记录各校准点上操作器对应