FROM 、WHERE 、GROUP BY 、HAVING、 SELECT、ORDER BY 、LIMIT 执行顺序如下:
-
FROM 子句:确定查询的基础表和视图。
-
WHERE 子句:基于指定的条件过滤记录。
-
GROUP BY子句:按指定的列分组结果集中的记录。
-
HAVING子句:基于分组聚合后的结果过滤记录。
-
SELECT子句:基于结果集选择特定的列。
-
ORDER BY 子句:按指定的列排序结果集。
-
LIMIT子句:对结果集进行分页展示。
示例:-- 找出年龄大于等于18岁学生所在的班级并且学生人数包含2人以上的班级
查询sql如下:
select GRADE from student where AGE >= 18 group by GRADE having count(*) >=2 order by GRADE
结果展示: