我有一个名为HRRM的员工记录的SQL表。此表包含employeeID,FirstName,LastName等字段。
SQL中有另一个名为HREC的表。该表与HRRM相连,包含紧急联系方式。
基本上,HRRM中的每位员工都可以在HREC中拥有许多紧急联系人。
如何从HRRM中选择HREC中没有任何记录的所有员工?
答案 0 :(得分:2)
如何从
HRRM
中选择HREC
中没有任何记录的所有员工?
这个英语声明几乎逐字逐句地转换为SQL:
SELECT *
FROM HRRM e
WHERE NOT EXISTS (SELECT * FROM HREC r WHERE r.emp_id=e.emp_id)
使用外部JOIN
:
SELECT e.*
FROM HRRM e
LEFT OUTER JOIN HREC r ON r.emp_id=e.emp_id
WHERE r.emp_id IS NULL
答案 1 :(得分:0)
使用NOT EXISTS:
SELECT * FROM HRRM R
WHERE NOT EXISTS (SELECT * FROM HREC E WHERE R.EMP_ID=E.EMP_ID)
除非您同时使用DISTINCT,否则不应使用连接