关于 not existsselect * from departmentsDEPARTMENT_IDDEPARTMENT_NAMEMANAGER_IDLOCATION_ID10Administ
关于 not exists
select * from departments
DEPARTMENT_IDDEPARTMENT_NAMEMANAGER_IDLOCATION_ID
10 Administration200 1700
20 Marketing201 1800
50 Shipping124 1500
60 IT1031400
80 Sales1492500
90 Executive100 1700
110 Accounting205 1700
190 Contracting 1700
--------------------------------
SELECT department_id, department_name
FROM departments d
WHERE NOT EXISTS (SELECT 'X'
FROM employees
WHERE department_id
= d.department_id);
DEPARTMENT_IDDEPARTMENT_NAME
190Contracting
为什么会有190显示,190明明有匹配啊,求解。
[解决办法]
- SQL code
--说明这条语句选不出结果,也就是employees中不存在部门为190的记录SELECT 'X' FROM employees WHERE department_id=190;
[解决办法]
190只是存在departments,还要看employees
