知识大全 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)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
异常处理允许读者为程序的正常情况单独设计和编写代码并与不正常情况下的处理代码分开 throw语句的作用类似一个方法调用但它并没有去调用一个方法而是调用了catch块 预定义的异常类Except
这个操作符在小处非常有用 using using语句定义一个范围在此范围的末尾将处理对象 举例 classTestUsing:IDisposable
主控室操作,在主控室操作计算机启动键和停机键;就地操作,断开遥控操作开关,在风电机组的控制盘上,操作启动停机按钮,操作后再合上遥控开关;远程操作,在远程终端上操作启动键和停机键;机舱上操作,在机舱
主控室操作,在主控室操作计算机启动键和停机键;就地操作,断开遥控操作开关,在风电机组的控制盘上,操作启动停机按钮,操作后再合上遥控开关;远程操作,在远程终端上操作启动键和停机键;机舱上操作,在机舱
PHP的目录操作和文件操作 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在任何计算机设备中文件
按照操作执行所需的资源类型我们可以将操作分为cpu绑定型操作和I/O绑定型操作前者主要是利用cpu进行密集运算后者大部分操作处理时间花在I/O处理上(比如文件系统网络资源)对于I/O绑定型的操作我
二锅头 一般电气误操作: (l)误(漏)拉合断路器(开关); (2)下达错误调度命令,错误安排运行方式,错误下达继电保护及安全自动装置定值或错误下达其投、停命令; (3)继电保护及安全自动
二锅头 一般电气误操作: (l)误(漏)拉合断路器(开关); (2)下达错误调度命令,错误安排运行方式,错误下达继电保护及安全自动装置定值或错误下达其投、停命令; (3)继电保护及安全自动
操作和执行单元的操作器校准项目与技术标准有哪些?参考答案:1、输出电流表示值误差校准(1)在全量程范围内,输入信号以量程的20%,依次递增至各校准点,然后再依次递减至各校准点,记录各校准点上操作器对应