鉴于这两个表:
CREATE TABLE TEST1 (TEST VARCHAR2(1 BYTE))
CREATE TABLE TEST2 (TEST VARCHAR2(1 BYTE))
其中 TEST1 有两行的值为“A”,TEST2 有一行的值为“B”。
当我运行此命令时:
SELECT TEST FROM TEST1
MINUS
SELECT TEST FROM TEST2
我得到输出:
Test
-----
A
MINUS 似乎删除了重复项(因为 TEST1 中有两个“A”行)。
如何让 MINUS 查询包含重复值(返回两个“A”行)?
最佳答案
Oracle 支持 IN 语句中的多列,因此您可以编写:
SELECT a, b, c
FROM table1
WHERE (a,b,c) not in (
select a,b,c from table2
)
关于sql - 防止 Oracle 减去语句删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/859255/