Not exists operator error on multiple tables 选择

Not exists operator error on multiple tables selection

此选择在 NOT IN 时效果很好,但在 NOT EXISTS 时 returns 出错: SQL 错误:ORA-00920:无效的关系运算符 00920.00000 - "invalid relational operator"

NOT EXISTS 是否还有其他作用?

select COMPANY.TITLE_COMPANY
from COMPANY 
outer join LOCATION on (LOCATION.NAME_LOC = COMPANY.NAME_LOC)
where  COMPANY.NUM_COMPANY  not exists (select NUM_COMPANY from COMPANY_SUC)
;

您的语法有误,很容易找出原因。请注意,where not exists 子句用于从另一组数据中减去一组数据:

select
   ename
from
   emp
where NOT EXISTS
   (select
      null
   from
      dependents
   where
      emp.empno = dependents.empno
   and ...
   );

但是您试图将它与基本查询中的特定字段相关联,这是错误的,它与 NOT IN 不完全相同,后者将列中的数据与子查询结果进行比较。

不要试图互相替换。