繁体   English   中英

使用 SQL 相关子查询与存在运算符

[英]Using a SQL correlated sub-query with exists operator

我试图通过使用带有exists运算符的相关子查询来查找job_history表中的所有记录,其department_ID与employees表中的department_id不同,但是,我得到了错误代码:

ORA-00933: SQL 命令未正确结束

有人可以根据下面的架构和代码告诉我我做错了什么吗?

Select * 
from Job_History as J 
where Exists(Select * from hr.Employees e where e.Department_ID != J.Department_ID);

在此处输入图片说明

这里:

from Job_History as J 

Oracle 不支持as表别名的关键字(仅在列别名中支持)。

您也很可能希望在子查询中的employee_id上有一个相关性子句。

所以:

select * 
from job_history j 
where exists (
    select 1 
    from hr.employees e 
    where e.employee_id = j.employee_id and e.department_id <> j.department_id
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM