【问题标题】:NVL2 and not exists in OracleNVL2 并且在 Oracle 中不存在
【发布时间】:2020-08-13 20:01:29
【问题描述】:

我正在从 X 表中提取表 A 中的一些记录。 现在,我想选择表 A 中不可用但表 B 中可用的记录。但同时,我不想选择两个表中都可用的记录。

另外,如果表 A 中的一列为空,但表 B 中记录中的同一列有值,我也想取。

是否有可能在一个语句中做这样的事情?

【问题讨论】:

  • 请编辑您的问题,显示表格 DDL 示例表格数据和预期输出

标签: oracle oracle12c


【解决方案1】:

这是一个简单的基于集合的操作。关系数据库在这方面非常出色:

CREATE TABLE a (id NUMBER);
CREATE TABLE b (id NUMBER);
INSERT INTO a VALUES (1);
INSERT INTO a VALUES (3);
INSERT INTO b VALUES (2);
INSERT INTO b VALUES (3);

SELECT id FROM b 
MINUS
SELECT id FROM a;

ID
2

【讨论】:

    猜你喜欢
    • 2019-11-29
    • 1970-01-01
    • 2019-02-28
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 2015-01-29
    • 2016-07-07
    • 2022-01-14
    相关资源
    最近更新 更多