我正在尝试在内部联接上使用子查询从部门中没有程序员的表中获取所有部门编号和名称,但是我遇到了一些麻烦,因为它没有返回任何值。这是我的代码,感谢您的帮助。
select Departments.Department_Name, Departments.Department_No
from employees inner join departments
on departments.department_No = employees.Department_No
where Employees.Department_No !=
(select Department_Name
from Employees, Departments
where Job_ID = '%pro%')
答案 0 :(得分:1)
从我可以收集的内容来看,你需要这样的东西:
select d.Department_Name, d.Department_No
from departments d
WHERE NOT EXISTS (SELECT 1 FROM Employees
WHERE d.Department_No = Department_No
AND Job_ID LIKE '%pro%')
这将选择所有部门,其中不存在job_ib包含' pro'。
的员工。答案 1 :(得分:0)
试试这个:
select d1.Department_Name,d1.Department_No
from departments d1
where d1.Department_No in ( select e1.Department_No
from Employees e1
where e1.Department_No=d1.Department_No and
e1.job_id not in ('programmer'));