对数据库基本操做是每一个程序员基本功,如何理解并快速记住sql执行的顺序呢,其实一条复杂的sql就能搞定:
SELECT DISTINCT
FROM
JOIN
ON
WHERE
GROUP BY
HAVING
ORDER BY
LIMIT
执行顺序:
(7) SELECT
(8) DISTINCT
(1) FROM
(3) JOIN
(2) ON
(4) WHERE
(5) GROUP BY
(6) HAVING
(9) ORDER BY
(10) LIMIT
另外须要注意的问题:程序员
(1)group by 存在时,select中除了汇集函数外,全部的基本列必须是group by里面存在的;having基本上同group by一块儿使用的,having相似于where语句,只是having过滤是基于group by 分组后的数据,having通常经过select语句里面的汇集函数进行过滤。web
参考:sql