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 指令下,不同的值只会被列出一次。
感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程