在本教程中,您将学习如何使用oracle intersect运算符来比较两个查询,并返回由两者相交的行。
oracle intersect运算符比较两个查询的结果,并返回两个查询输出的不同行。
以下语句显示了intersect运算符的语法:
select
column_list_1
from
t1
intersect
select
column_list_2
from
t2;
与union运算符相似,使用intersect运算符时必须遵循以下规则:
oracle intersect说明图
假设有两个查询返回t1和t2表中的结果集。
t1结果集包括:1,2,3行。t2结果集包括:2,3,4行。t1和t2的相交结果返回是2和3。因为这些是由两个查询输出的不同值。
下图说明了t1和t2的交集:
上图显示了intersect返回两个圆(或集合)的交集。
请参阅示例数据库中的以下contacts和employees表的er结构图。
以下语句使用intersect运算符来获取在contacts和employees表中都存在人员的姓氏(last_name):
select
last_name
from
contacts
intersect
select
last_name
from
employees
order by
last_name;
执行上面示例代码,得到以下结果 -
请注意,在最后的查询中放置了
order by子句,以对由intersect运算符返回的结果集进行排序。
在本教程中,您学习了如何使用oracle intersect运算符来比较两个查询,并返回两个查询输出的不同行。