SQL是一种声明式语言,如果一般命令式语言是告诉计算机如何做一件事的话,声明式语言就是告诉计算机该做一件什么样的式。
SQL语言的标准语法顺序如下
select [distinct]
from
where
group by
having
union
order by
然而,执行顺序却是
FROM: FROM才是执行的第一步
WHERE
GROUP BY
HAVING
SELECT
DISTINCT
UNION
ORDER BY
所以下面的语法是错的!
select x as z
from A
where z=10;
因为在执行where语句的时候,还没有执行select呢!