首页 > 代码库 > SQL查询中关键词的执行顺序
SQL查询中关键词的执行顺序
1、查询中常用到的关键词有:
SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY
其中,SELECT与FROM是必需的,其他关键词则是可选的。
2、这些关键词的书写顺序:
SELECT 字段列表
FROM 表名
WHERE 记录筛选条件
GROUP BY 分组字段列表
HAVING 分组筛选条件
ORDER BY 排序字段列表
3、WHERE与HAVING的区别:
WHERE是对记录进行筛选;而HAVING是对按GROUP BY进行分组后的组进行筛选。
HAVING只有在使用GROUP BY 后才能使用。
4、GROUP BY的两个作用:
第一个作用是,将从表中取出的记录按照一个或者多个字段进行分组;
第二个作用是,去重,其本质仍然是分组。
5、这些关键词的执行顺序:
FROM->WHERE->GROUP BY->HAVING->SELECT->ORDER BY
具体的说:
FROM:从指定的数据表中检索记录
WHERE:根据指定的条件过滤检索出的记录
GROUP BY:对上面过滤后的记录按指定条件分组
HAVING:对所有分组根据指定条件进行过滤
SELECT:从上一步过滤后的各个分组记录中提取指定查询的字段列表(包括聚合字段、计算字段、表达式字段等)
ORDER BY:对上一步查询得到的结果集按照排序字段列表进行排序,并输出排序结果
6、GROUP BY 字段1,字段2——先对所有记录按照字段1进行分组,然后对分组后的结果再在没组内按照字段2分组。
7、ORDER BY 字段1,字段2——先按照字段1进行排序,再按照字段2进行排序。
8、排序规则关键字:ASC(升序,默认)、DESC(降序)。
9、COUNT关键字,作计数使用。COUNT(*)是做候选数据集的整体计数,COUNT(字段)是对某字段进行计数。如果牟烈出现NULL值时,COUNT(*)会算入该列,COUNT(字段)则不会算入该列。
参考:《查询语句中select from where group by having order by的执行顺序》,感谢。
SQL查询中关键词的执行顺序