在本教程中,您将学习如何使用Oracle MINUS
运算符从一个结果集中减去另一个结果集。
Oracle MINUS
运算符比较两个查询,并返回第一个查询中但不是第二个查询输出的行。 换句话说,MINUS
运算符从一个结果集中减去另一个结果集。
以下说明Oracle MINUS
运算符的语法:
SELECT column_list_1 FROM T1 MINUS SELECT column_list_2 FROM T2;
与UNION和INTERSECT操作符类似,上面的查询必须符合以下规则:
假设第一个查询T1
表返回包含1
,2
和3
的结果集。第二个查询T2
表返回包含2
,3
和4
的结果集。
下图说明了T1
和T2
的MINUS
运算结果:
请参阅示例数据库中的以下contacts
和employees
表的ER图结构:
以下语句从查询中返回不同的姓氏(last_name
),MINUS
运算符去除那些在右侧查询结果中行记录。
请参阅以下 products
和 inventories
表的定义:
以下语句从products
表中返回产品ID的列表,但不存在于inventories
表中:
SELECT product_id FROM products MINUS SELECT product_id FROM inventories;
执行上面查询语句,得到以下结果 -
在本教程中,您已学习如何使用Oracle MINUS
运算符来比较两个查询,并返回第一个查询中不同于第二个查询输出的行。