我知道SQL的执行顺序的是FROM--ON--JOIN--WHERE--..
我不明白的是,在SELECT子句中,使用该子句中其他地方定义的别名是不行的,为什么嵌套一个子查询,又可以识别到别名了?
具体如:
一、
SELECT
100-90 a,
20-10 b,
a-b 'a-b'
报错,不认识a、b列
二、
SELECT
100-90 a,
20-10 b,
(SELECT a-b) 'a-b'
成功,输出结果:
a b a-b
10 10 0
为什么上述第二个查询可以顺利运行?SQL的关于别名的执行顺序是怎么样的?