部门表
DEPARTMENT_ID
| 1 |
| 2 |
员工表
EMPLOYEE_ID | DEPARTMENT_ID
ANDY | 1
输出
DEPARTMENT_ID|
2
这是我的代码:
SELECT DEPARTMENT_ID
FROM DEPARTMENTS
where department_id!= all ( SELECT department_id
FROM employees
);
该代码未显示2
,并且输出为空白。
赞:
DEPARTMENT_ID|
答案 0 :(得分:2)
如果要查找每个部门中每个雇员的 number ,则应使用左联接聚合:
SELECT d.DEPARTMENT_ID, COUNT(e.EMPLOYEE_ID) AS cnt
FROM DEPARTMENT d
LEFT JOIN EMPLOYEES e
ON d.DEPARTMENT_ID = e.DEPARTMENT_ID
GROUP BY d.DEPARTMENT_ID;
上面的count表达式对employee表中的EMPLOYEE_ID
列进行计数。重要的是要注意,如果一个部门没有雇员,那么COUNT
将返回零,因为不计算NULL
。
答案 1 :(得分:1)
SELECT d.department_id
FROM departments d
LEFT JOIN employees e ON d.department_id = e.department_id
WHERE e.department_id IS NULL