[英]How to join two tables to get combined result
我正在嘗試編寫一個查詢,在其中檢索員工數據、fname、薪水和單位編號,其中 fname 是“Khalid”,他的部門名稱應該是“IT”或“Development”。
我將查詢寫為
Select fname, salary, unitno from Employee Where fname = Khalid and Department.name = 'IT' or 'Development'
兩個表都具有基於部門編號的關系。
例如:
員工表:
Fname salary unitno Dno
Angel 2000 5 2
Jame 1000 3 2
Khalid 1500 6 4
Khalid 2500 9 2
部門表:
Dnumber Name
2 IT
2 IT
4 Development
2 IT
現在這兩個表處於關系中。 我的查詢沒有使用 Dno 和 Dnumber 來連接它們並找到准確的結果。 我需要在這里使用 JOIN 嗎? 我怎么知道哪個是左表,哪個是右表?
使用內部連接不需要左或右
Select fname, salary, unitno
from Employee
inner join Department
on Dno=Dnumber
Where fname = 'Khalid' and
(name = 'IT' or name='Development')
-- or your could write : name in ('IT','Development')
您還可以使用子查詢,如下所示:
Select fname, salary, unitno
from Employee
Where fname = 'Khalid' and Dno in (
select Dnumber from Department where name = 'IT' or name='Development')
您可以加入和篩選:
select e.fname, e.salary, e.unitno, d.name
from employee e
inner join department d on d.dnumber = e.dno
where e.fname = 'Khalid' and d.name in ('IT', 'Development')
或者,如果不需要顯示部門名稱,也可以使用相關子查詢進行過濾:
select e.fname, e.salary, e.unitno
from employee e
where e.fname = 'Khalid' and exists (
select 1 from department d where d.dnumber = e.dno and d.name in ('IT', 'Development')
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.