"使用子查询选择数据时不起作用-6ren"> "使用子查询选择数据时不起作用-我有餐 table 员工: 我想要选择的是在同一部门工作的没有指定主管的员工列表(员工#24有其他部门的主管,有些人根本没有主管) 所以问题是:为什么这样有效: SELECT * FROM -6ren">
gpt4 book ai didi

mysql - "!= nor <>"使用子查询选择数据时不起作用

转载 作者:行者123 更新时间:2023-11-29 10:20:57 26 4
gpt4 key购买 nike

我有餐 table 员工:
enter image description here

我想要选择的是在同一部门工作的没有指定主管的员工列表(员工#24有其他部门的主管,有些人根本没有主管)

所以问题是:为什么这样有效:

SELECT 
*
FROM
employee a
WHERE
a.cheif_id NOT IN (SELECT
cheif_id
FROM
employee b
WHERE
b.dep_id = a.dep_id
AND b.id = a.cheif_id);

但这不是:

SELECT 
*
FROM
employee a
WHERE
a.cheif_id <> (SELECT
cheif_id
FROM
employee b
WHERE
b.dep_id = a.dep_id
AND b.id = a.cheif_id);

此外,如果我们要选择有指定主管在同一部门工作的员工,则“=”和“in ()”有效。

抱歉,我犯了一个错误。

最佳答案

如果子查询中有多个数据,则不能使用 <> ,您可以使用NOT IN

我认为你可以使用JOIN而不是subquery

SELECT e1.name chiefname,e2.*
FROM employee e1
INNER JOIN e2
ON e1.dep_id = e2.dep_id AND e1.id = e2.cheif_id

关于mysql - "!= nor <>"使用子查询选择数据时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49267216/

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