gpt4 book ai didi

mysql - 这个子查询是如何工作的?

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:38 24 4
gpt4 key购买 nike

select max(salary) 
from employee
WHERE salary NOT IN (select MAX(salary) from employee)

上面的查询返回第二高的薪水。现在我知道还有其他方法可以找到第二高的薪水,但我不明白上面的查询是如何工作的。这可能非常简单,但有人可以将其分解以便理解。

最佳答案

'Where'条件在聚合函数之前执行

为了更清楚
员工表中的薪水为 10000、15000、20000

FIRST WHERE salary NOT IN (select MAX(salary) from employee) =20000 GET 执行和
存储值 20000 用于比较

然后它从 MAX 值 LIKE 20000 != 20000 false

然后检查其他最大值 15000 != 20000 true

所以 15000 将返回

要了解有关 SQL 执行顺序的更多信息,请参见下图

enter image description here

关于mysql - 这个子查询是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40745310/

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