sql minus指令用法

2018年02月06日 10:09 | 3707次浏览 作者原创 版权保护

minus-(oracle)

返回在第一个查询结果中与第二个查询结果不相同的那部分行记录,

即两个结果的差集

 select * from abc2
    minus
  select * from abc ;

MINUS 指令是运用在两个 SQL 语句上。它先找出第一个 SQL 语句所产生的结果,然后看这些结果有没有在第二个 SQL 语句的结果中。如果有的话,那这一笔数据就被去除,而不会在最后的结果中出现。如果第二个 SQL 语句所产生的结果并没有存在于第一个 SQL 语句所产生的结果内,那这笔数据就被抛弃。用数学语言来解释就是两个sql语句结果集的差集

MINUS 的语法如下:

[SQL 语句 1]
MINUS
[SQL 语句 2];

我们继续使用一样的例子:

Store_Information 表格

Store_Name Sales Txn_Date

Los Angeles 1500 05-Jan-1999

San Diego 250 07-Jan-1999

Los Angeles 300 08-Jan-1999

Boston 700 08-Jan-1999

Internet Sales 表格

Txn_Date Sales

07-Jan-1999 250

10-Jan-1999 535

11-Jan-1999 320

12-Jan-1999 750

而我们要知道有哪几天是有店面营业额而没有网络营业额的(也就是两张表中数据的差集)。要达到这个目的,我们用以下的 SQL 语句:

SELECT Txn_Date FROM Store_Information
MINUS
SELECT Txn_Date FROM Internet_Sales;

结果:

Txn_Date

Jan-05-1999

Jan-08-1999

'Jan-05-1999', 'Jan-07-1999', 和 'Jan-08-1999' 是 "SELECT Txn_Date FROM Store_Information" 所产生的结果。在这里面,'Jan-07-1999' 是存在于 "SELECT Txn_Date FROM Internet_Sales" 所产生的结果中。因此 'Jan-07-1999' 并不在最后的结果中。

请注意,在 MINUS 指令下,不同的值只会被列出一次。 



小说《我是全球混乱的源头》
此文章本站原创,地址 https://www.vxzsk.com/510.html   转载请注明出处!谢谢!

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程