MySQL,子查询不使用

时间:2016-03-17 14:47:52

标签: mysql sql

大家,我遇到一个小问题,但我不知道原因,所以,任何人都可以给我任何线索?

以下是问题:

  

编写查询以查找>不是主管的员工的姓名(first_name,last_name)。

这是架构:

EMPLOYEE_ID | FIRST_NAME  | LAST_NAME   | EMAIL    | PHONE_NUMBER       | HIRE_DATE  | JOB_ID     | SALARY   | COMMISSION_PCT | MANAGER_ID | DEPARTMENT_ID |

而且,这是我的解决方案:

select first_name, last_name 
from employees 
where job_id not in (select manager_id from employees ) order by first_name;

现在,我确定这不对。但我仍然无法弄清楚原因。 非常感谢你!

1 个答案:

答案 0 :(得分:2)

如何判断某人 是否是主管?是否有人通过manager_id自动提交给主管?在那种情况下你可以做

SELECT first_name, last_name FROM employees a WHERE 
NOT EXISTS (SELECT 1 FROM employees b WHERE b.manager_id=a.employee_id)

找到不是主管的所有员工。