-1

我有一个名为 HRRM 的员工记录 SQL 表。此表具有诸如employeeID、FirstName、LastName 等字段。

SQL 中有另一个表称为 HREC。此表已加入 HRRM,并包含紧急联系人详细信息。

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

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

4

2 回答 2

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
于 2013-10-09T01:57:08.430 回答
0

使用不存在:

SELECT * FROM HRRM R 
WHERE NOT EXISTS (SELECT * FROM HREC E WHERE R.EMP_ID=E.EMP_ID)

不应该使用 join 除非你同时使用 DISTINCT

于 2013-10-09T02:38:04.327 回答