选择id=0或id=555,但不能同时选择两者-ORACLE SQL

选择id=0或id=555,但不能同时选择两者-ORACLE SQL,sql,oracle,select,xor,Sql,Oracle,Select,Xor,似乎Oracle缺少XOR运算符,我无法理解当找不到ID=555的行时,如何让下面的查询选择ID=0的行 SELECT * FROM table WHERE (id = 0 or id = 555) 这将为我提供id为0和555的行,但如果存在具有相同键且id=555的匹配行,我不希望使用id=0的行。您可以使用不存在,如下所示: SELECT * FROM table t WHERE id = 0 AND NOT EXISTS (select 1 from ta

似乎Oracle缺少XOR运算符,我无法理解当找不到ID=555的行时,如何让下面的查询选择ID=0的行

SELECT * FROM table WHERE (id = 0 or id = 555) 

这将为我提供id为0和555的行,但如果存在具有相同键且id=555的匹配行,我不希望使用id=0的行。您可以使用
不存在
,如下所示:

SELECT * FROM table t 
 WHERE id = 0 
   AND NOT EXISTS 
       (select 1 from table tt
         where tt.key = t.key and tt.id = 55)

您可以使用
不存在
,如下所示:

SELECT * FROM table t 
 WHERE id = 0 
   AND NOT EXISTS 
       (select 1 from table tt
         where tt.key = t.key and tt.id = 55)

我看不出排他OR在这里有什么帮助,因为ID不可能同时为0和555。似乎您需要ID=0且ID=555不存在行的行,或者ID=555且ID=0且不存在行的行。这已经或多或少是SQL语法了。我看不出异或在这里有什么帮助,因为ID不可能同时为0和555。似乎您需要ID=0且ID=555不存在行的行,或者ID=555且ID=0且不存在行的行。这或多或少已经是SQL语法了。