gpt4 book ai didi

mysql - 可以并且应该循环遍历子查询的查询返回吗?

转载 作者:行者123 更新时间:2023-11-29 10:13:55 27 4
gpt4 key购买 nike

我有一个查询,该查询返回公司中具有特定技能的员工的员工 ID。

SELECT competences.employee_id
FROM competences
WHERE service_id = 2)

返回

1
2
4
7

我现在想使用这个查询返回来查找这些员工的姓名从员工表中。我已经尝试过,这当然不起作用,但可以弄清楚如何做到这一点。

SELECT employee.first_name, employee.last_name
FROM employee
WHERE employee.employee_id =
(SELECT competences.employee_id
FROM competences
WHERE service_id = 2)

如何使用子查询来获取员工?

最佳答案

这是JOIN的工作。您应该阅读有关 JOIN 的内容。有许多教程可用。 Here is one .

尝试这样的事情:

 SELECT DISTINCT employee.first_name, employee.last_name
FROM employee
JOIN competences ON employee.employee_id = competences.employee_id
WHERE competences.srvice_id = 2

使用IN 产生与JOIN 相同的结果。但它使用所谓的依赖子查询,当表变大时,这可能会严重影响性能。 DISTINCT 删除任何可能重复的员工姓名。如果我们知道列的名称和含义,我们就可以提供更具体的建议来生成最有用的查询。

关于mysql - 可以并且应该循环遍历子查询的查询返回吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50437030/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com