数据查询语句格式
SELECT [ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]… FROM<表名或视图名>[,<表名或视图名>]..I(SELECT语句) [AS]<别名> [WHERE<条件表达式>] [GROUP BY<列名1>[HAVING<条件表达式>]] [ORDER BY<列名2>[ASC|DESC]];列名2>条件表达式>列名1>条件表达式>别名>表名或视图名>表名或视图名>目标列表达式>目标列表达式>
- SELECT子句:指定要显示的属性列
- FROM子句:指定查询对象(基本表或视图)
- WHERE子句:指定查询条件
- GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用聚集函数。
- HAVING短语:只有满足指定条件的组才予以输出
- ORDER BY子句:对查询结果表按指定列值的升序或降序排序
- 指定DISTINCT关键词,去掉表中重复的行。如果没有指定DISTINCT关键词,则缺省为ALL
例子:
例子:
聚集函数:
- 统计元组个数
- COUNT(*)
- 统计一列中值的个数
- COUNT([DISTINCTIALL]<列名>)列名>
- 计算一列值的总和(此列必须为数值型)
- SUM([DISTINCTIALL]<列名>)列名>
- 计算一列值的平均值(此列必须为数值型)
- AVG([DISTINCTIALL]<列名>)列名>
- 求一列中的最大值和最小值
- MAX([DISTINCTIALL]<列名>)列名>
- MIN([DISTINCTIALL]<列名>)列名>
GROUP BY子句分组:
- 细化聚集函数的作用对象
- 如果未对查询结果分组,聚集函数将作用于整个查询结果
- 对查询结果分组后,聚集函数将分别作用于每个组
- 按指定的一列或多列值分组,值相等的为一组