oracle中intersect的用法-Oracle

Oracle 中 INTERSECT 用法

INTERSECT 运算符用于查找两个或多个表的公共行,即同时在所有表中出现的行。它是一种集合运算,检索出满足特定条件的行。

语法:

SELECT column_list
FROM table1
INTERSECT
SELECT column_list
FROM table2
[UNION]
SELECT column_list
FROM table3 ...;
登录后复制

用法说明:

  • INTERSECT 运算符将比较来自不同表的行的相对应列值。
  • 如果所有行的值对于给定的列都相等,那么该行将被包含在结果集中。
  • UNION 子句可用于将结果集与其他表的 INTERSECT 结果组合在一起。
  • 列列表必须在所有 SELECT 语句中相同。

示例:

假设我们有以下两个表:

Table1:

ID Name
1 John
2 Mary
3 Bob

Table2:

ID Address
1 123 Main St
2 456 Oak Ave
3 789 Pine St

查询:

SELECT ID, Name, Address
FROM Table1
INTERSECT
SELECT ID, NULL, Address
FROM Table2;
登录后复制

结果:

ID Name Address
1 John 123 Main St
2 Mary 456 Oak Ave

在这个例子中,INTERSECT 运算符返回了在 Table1 和 Table2 中都具有相同 ID 值的行。

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。