gpt4 book ai didi

mysql - where子句中条件的优先级是什么?

转载 作者:行者123 更新时间:2023-11-29 07:16:39 25 4
gpt4 key购买 nike

我正在使用 MySQL。我有一个名为讲师的表,其属性为 id、name、dept_name、salary。我编写了一个查询来“查找所有薪水高于物理系至少一名讲师的讲师”

select t.name, t.dept_name, t.salary
from instructor t, instructor s
where t.salary > s.salary and s.dept_name='physics';

现在首先应用哪个条件?

最佳答案

将应用整个 WHERE 条件,这意味着为了使记录出现在结果集中,它必须满足薪资和部门要求。

您的查询看起来几乎是正确的,只是您可能希望包含 DISTINCT 以确保您不会在结果集中多次报告同一位讲师:

select distinct t.name, t.dept_name, t.salary
from instructor t
inner join instructor s
on t.salary > s.salary and s.dept_name='physics'

您会注意到,我还用显式内部联接替换了您的隐式联接语法。您应该避免将逗号放入 from 子句中,因为这是一种非常古老的连接方式,现代 RDBMS 认为已弃用这种方式。

关于mysql - where子句中条件的优先级是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37739017/

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