我有一个查询,返回在公司拥有特定技能的员工的员工id。
SELECT competences.employee_id
FROM competences
WHERE service_id = 2)
退货
1
2
4
7
我现在想使用这个查询返回从employees表中查找这些雇员的姓名。我试过这个,当然没用,但我能想出办法。
SELECT employee.first_name, employee.last_name
FROM employee
WHERE employee.employee_id =
(SELECT competences.employee_id
FROM competences
WHERE service_id = 2)
如何使用子查询获取员工?
3条答案
按热度按时间c2e8gylq1#
用“in”代替等号
x4shl7ld2#
这是我的工作
JOIN
. 你应该读一读关于加入的书。有很多教程。这里有一个。尝试以下操作:
使用
IN
产生的结果与JOIN
. 但是它使用了所谓的依赖子查询,当表变大时,这对性能非常不利。DISTINCT
删除任何可能重复的员工姓名。如果我们知道列的名称和含义,我们可以为生成最有用的查询提供更具体的建议。2ledvvac3#
您只需使用in而不是“=”