簡體   English   中英

SQL內部聯接和子查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM