六、查询子句
一、常用查询子句
SELECT 查询列表 FROM 表名
[WHERE 条件表达式 ]
[GROUP BY 字段名 [HAVING 条件表达式]]
[ORDER BY 字段 [ASC |DESC]]
[LIMIT m,n];
特点:
-
GROUP BY 用于按照某个字段进行分组
-
HAVINF 常用在GROUP BY 后面,用于做条件筛选
-
ORDER BY 根据某个字段进行排序,ASC表示升序,DESC表示降序
-
LIMIT 表示对最终显示的数据进行限制,只有一个数字的时候,表示显示前n条数据,如果是[m,n],则显示m到n的数据
------------------------------------------------------------------------------------------------------------------------------------------
-
基本查询
SELECT 字段名 FROM 表名; # (字段名查询(投影查询))
----------------------------------------------------------------------------------------------------------------------------------------------
-
条件查询
SELECT 字段名 FROM 【表名】 where 条件;
----------------------------------------------------------------------------------------------------------------------------------------------
-
常用聚合函数
AVG(【DISTINCT】 expr)
|
返回expr的平均值
|
COUNT(【DISTINCT】 expr)
|
返回expr的非NULL值的数目
|
MIN(【DISTINCT】 expr)
|
返回expr的最小值
|
MAX(【DISTINCT】 expr)
|
返回expr的最大值
|
SUM(【DISTINCT】 expr)
|
返回expr的总和
|
SELECT 函数(字段名) FROM 表名 WHERE 条件判断; (学生id为1的平均分)
-------------------------------------------------------------------------------------------------------------------
-
聚合函数 + GROUP BY
SELECT 函数(字段名) FROM 表名 GROUP BY 字段名; (班级平均分)
-------------------------------------------------------------------------------------------------------------------
-
GROUP BY + HAVING 筛选
SELECT 函数(字段名) FROM 表名 GROUP BY 字段名 HAVING 判断条件; (班级1的平均分)
-------------------------------------------------------------------------------------------------------------------
-
ORDER BY 排序
SELECT 函数(字段名) FROM 表名
GROUP BY 字段名
ORDER BY 字段名(字段可多个(字段1 ASC,字段2 DESC));
(默认ASC(升序) | DESC(降序)
(班级平均分排序)
-------------------------------------------------------------------------------------------------------------------
-
LIMIT 分页
SELECT 查询列表 FROM 表名
[WHERE 条件表达式 ]
[GROUP BY 字段名 [HAVING 条件表达式]]
[ORDER BY 字段 [ASC |DESC]]
[LIMIT m,n]; | [LIMT n OFFSET m]; | [LIMT n];
(三个班级取下标1到下标4的班级)
-------------------------------------------------------------------------------------------------------------------