请有人解释原因
select count(*) from employees where employee_id not in (select manager_id from employees)
返回0
当显然有一些员工也是经理时。
我正在使用HR模式。
答案 0 :(得分:1)
基于我建议您使用的查询 不存在,因为它提供了BOOLEAN结果,提高了性能。
SELECT COUNT(*)
FROM employees
WHERE NOT EXISTS
(SELECT employee_id
FROM employees
WHERE type = 'manager' -- or however you differentiate
-- employees and managers
);
答案 1 :(得分:0)
基于此,您似乎试图将employee_id
与manager_id
相关联,这可能与其不同。
相反,您可以使用其他一些标准来查询经理的匹配employee_id值,以识别employees表中的经理。
SELECT COUNT(*)
FROM employees
WHERE employee_id NOT IN
(
SELECT employee_id
FROM employees
WHERE type = 'manager' -- or however you differentiate
-- employees and managers
)