[英]SQL inner join and subquery
我正在嘗試在內部聯接上使用子查詢,以從該部門中沒有程序員的表中獲取所有部門編號和名稱,但是由於它不返回任何值,我遇到了一些麻煩。 這是我的代碼,感謝您的幫助。
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%')
據我所知,您想要這樣的東西:
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”的雇員的部門。
試試這個:
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'));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.