Oracle Minus运算符

在本教程中,您将学习如何使用Oracle MINUS运算符从一个结果集中减去另一个结果集。

Oracle MINUS操作符简介

Oracle MINUS运算符比较两个查询,并返回第一个查询中但不是第二个查询输出的行。 换句话说,MINUS运算符从一个结果集中减去另一个结果集。

以下说明Oracle MINUS运算符的语法:

SELECT
    column_list_1
FROM
    T1
MINUS 
SELECT
    column_list_2
FROM
    T2;

UNIONINTERSECT操作符类似,上面的查询必须符合以下规则:

  • 列数和它们的顺序必须匹配一致。
  • 相应列的数据类型必须处于相同的数据类型组中,例如数字或字符。

假设第一个查询T1表返回包含1,23的结果集。第二个查询T2表返回包含2,34的结果集。

下图说明了T1T2MINUS运算结果:

Oracle MINUS示例

请参阅示例数据库中的以下contactsemployees表的ER图结构:

以下语句从查询中返回不同的姓氏(last_name),MINUS运算符去除那些在右侧查询结果中行记录。

请参阅以下 productsinventories表的定义:

以下语句从products表中返回产品ID的列表,但不存在于inventories表中:

SELECT
  product_id
FROM
  products
MINUS
SELECT
  product_id
FROM
  inventories;

执行上面查询语句,得到以下结果 -

在本教程中,您已学习如何使用Oracle MINUS运算符来比较两个查询,并返回第一个查询中不同于第二个查询输出的行。


上一篇:Oracle Intersect运算符

下一篇:Oracle主键

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程