You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL SELECT语句中字段是否始终按列出顺序执行?

SELECT子句中字段的执行顺序是否固定?

首先明确:在MySQL中,SELECT列表里的字段确实会严格按照书写的从左到右顺序执行,所以你给出的那种依赖字段执行顺序的写法,在MySQL环境下是可靠的。

比如你写的这段代码:

SELECT (@thisoid := oid) as oid, (@thisoid + 1) as oid_plus_1 
FROM p_person;

执行时会先计算(@thisoid := oid),把当前行的oid值赋值给变量@thisoid,之后再计算(@thisoid + 1),所以oid_plus_1列会得到正确的oid+1结果。

但要注意:这是MySQL的特定实现行为,并不是SQL标准规定的内容。SQL标准并没有强制要求数据库按SELECT字段的书写顺序执行计算,像PostgreSQL、SQL Server等其他数据库,可能不遵循这个规则,在这些数据库里用类似写法可能会得到不可预期的结果。

内容的提问来源于stack exchange,提问作者Tom Melly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.02 00:42:25