帮助简单的SQL Server查询

时间:2010-05-29 22:50:32

标签: sql-server sql-server-2008

我需要表格如下;

  1. 员工:姓名nvarchar(50),职务名称nvarchar(50)和薪资int。
  2. 雇主:姓名nvarchar(50),职位名称nvarchar(50)
  3. 我想从“雇主”表中选择“职位”未显示在“雇员”表格中的每个项目。

    我知道这是一个简单的查询,但它让我难过。 我会感激任何帮助。感谢。

2 个答案:

答案 0 :(得分:1)

select * from employers 
where jobtitle not in (select jobtitle 
     from employees
     where jobtitle is not null);

我会考虑为员工和雇主提供带外键的工作表

编辑 - 感谢所有非空修复

答案 1 :(得分:0)

您可以使用加入:

select * 
from employers 
left join (
    select distinct jobtile
    from employees
) emp on employers.jobtitle = emp.jobtitle
where emp.jobtitle is null

Itchi的方法更具可读性,但不要忘记子查询末尾的where jobtitle is not null:)