Sql server 如何在列不等于值的联接表上进行筛选?
我有两张表,即部门和员工。我想要一个部门名称,其员工不是程序员 下面是我对这个问题的看法 我希望输出为HR,但它同时显示HR和it。我试过这个,但不起作用Sql server 如何在列不等于值的联接表上进行筛选?,sql-server,Sql Server,我有两张表,即部门和员工。我想要一个部门名称,其员工不是程序员 下面是我对这个问题的看法 我希望输出为HR,但它同时显示HR和it。我试过这个,但不起作用 SELECT DISTINCT dept_name FROM Departments INNER JOIN Employees ON not Emp_Skill='Programmer' AND Deptid = Employees.EDept_id; 您可以在中使用 SELECT Dept_name FROM depart
SELECT DISTINCT dept_name
FROM Departments INNER JOIN Employees
ON not Emp_Skill='Programmer' AND Deptid = Employees.EDept_id;
您可以在中使用
SELECT Dept_name
FROM departments
WHERE Deptid NOT IN (SELECT edept_id FROM Employees WHERE emp_skill ='Programmer')
这将只选择没有程序员员工的部门。谢谢!它可以工作,但是你能给我解释一下它可以工作吗?@PrajaktaKale,子查询将为你提供程序员员工的部门ID。因此将只选择不在子查询中的部门