如何使用SQL检查记录是否存在?

时间:2013-10-09 01:54:17

标签: sql select join null exists

我有一个名为HRRM的员工记录的SQL表。此表包含employeeID,FirstName,LastName等字段。

SQL中有另一个名为HREC的表。该表与HRRM相连,包含紧急联系方式。

基本上,HRRM中的每位员工都可以在HREC中拥有许多紧急联系人。

如何从HRRM中选择HREC中没有任何记录的所有员工?

2 个答案:

答案 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,否则不应使用连接