Oracle 专题
专题目录
您的位置:database > Oracle专题 > Oracle Intersect运算符
Oracle Intersect运算符
作者:--    发布时间:2019-11-20

在本教程中,您将学习如何使用oracle intersect运算符来比较两个查询,并返回由两者相交的行。

oracle intersect运算符介绍

oracle intersect运算符比较两个查询的结果,并返回两个查询输出的不同行。

以下语句显示了intersect运算符的语法:

select
    column_list_1
from
    t1
intersect 
select
    column_list_2
from
    t2;

union运算符相似,使用intersect运算符时必须遵循以下规则:

  • 两个查询中列的数量和顺序必须相同。
  • 相应列的数据类型必须处于相同的数据类型组中,例如数字或字符。

oracle intersect说明图

假设有两个查询返回t1t2表中的结果集。

  • t1结果集包括:123行。
  • t2结果集包括:2,3,4行。

t1t2的相交结果返回是23。因为这些是由两个查询输出的不同值。

下图说明了t1t2的交集:

上图显示了intersect返回两个圆(或集合)的交集。

oracle intersect示例

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

以下语句使用intersect运算符来获取在contactsemployees表中都存在人员的姓氏(last_name):

select
    last_name
from
    contacts
intersect 
select
    last_name
from
    employees
order by
    last_name;

执行上面示例代码,得到以下结果 -

请注意,在最后的查询中放置了order by子句,以对由intersect运算符返回的结果集进行排序。

在本教程中,您学习了如何使用oracle intersect运算符来比较两个查询,并返回两个查询输出的不同行。


网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册