MySQL SELECT表达式的执行顺序是从左往右依次执行
例子如下:(确保这几个变量都是初次使用,因为mysql的用户自定义变量会在整个连接session中存在)
select @a:=@b,@b:=1,@c=@a*2,@a:=3; +--------+-------+---------+-------+ | @a:=@b | @b:=1 | @c=@a*2 | @a:=3 | +--------+-------+---------+-------+ | NULL | 1 | NULL | 3 | +--------+-------+---------+-------+ 1 row in set (0.00 sec)
最后的表达式给@a赋值为3,并不能影响前面的判断。
所以SELECT列表中表达式的执行是按排列以此从左至右。