高级查询

浪子不回头ぞ 提交于 2019-12-05 14:48:29

高级查询

  1. 聚合函数

(一)COUNT()函数:用来统计记录的条数

语法格式如下所示:

SELECT COUNT(*) FROM 表名;

例如:(1)查询student表中一共有多少条记录,SQL语句及其执行结果如下所示:

 

 

 

(二)   SUM()函数:用于求出表中某个字段所有值的总和

  语法格式如下所示:

SELECT SUM(字段名) FROM 表名;

例如:(1)求出student表中grade字段的总和,SQL语句及其执行结果如下所示:

 

 

 

(三)   AVG()函数:用于求出某个字段所有值的平均值

 语法格式如下所示:

SELECT AVG(字段名) FROM student;

例如:(1)求出student表中grade字段的平均值,SQL语句及其执行结果如下所示:

 

 

 

(四)MAX()函数:用于求出某个字段的最大值

语法格式如下所示:

SELECT MAX(grade) FROM student;

例如:(1)求出student表中所有学生grade字段的最大值,SQL语句及其执行结果如下所示:

 

 

 

(五)MIN()函数:用于求出某个字段的最小值

语法格式如下所示:

SELECT MIN(grade) FROM student;

例如:(1)求出student表中grade字段的最小值,SQL语句如下所示:

 

 

 

2. 对查询结果排序

(一)   使用ORDER BY对查询结果进行排序。

语法格式如下所示:

SELECT 字段名1,字段名2,……

FROM 表名

ORDER BY 字段名1 [ASC | DESC],字段名2 [ASC | DESC]……

例如:(1)查出student表中的所有记录,并按照grade字段进行排序,SQL语句及其执行结果如下所示:

 

 

 

(2)查询student表中的所有记录,按照gender字段的升序和grade字段的降序进行排列,SQL语句及其执行结果如下所示:

 

 

 

3. 分组查询

使用GROUP BY按某个字段或者多个字段中的值进行分组,字段中值相同的为一组。

语法格式如下所示:

SELECT 字段名1,字段名2,……

FROM 表名

GROUP BY 字段名1 ,字段名2 ……

(一) 单独使用GROUP BY 分组:单独使用group by关键字,查询的是每个分组中的一条记录。

例如:(1)查询student表中的记录,按照gender字段值进行分组,SQL语句及其执行结果如下所示:

 

 

 

(二)GROUP BY和聚合函数一起使用:可以统计出某个或者某些字段在一个分组中的最大值、最小值、平均值等等。

例如(1)将student表按照gender字段值进行分组查询,计算出每个分组中各有多少名学生,SQL语句及其执行结果如下所示:

 

 

 

(二)   GROUP BY和HAVING关键字一起使用: 用于设置条件表达式对查询结果进行过滤。

 例如(1)将student表按照gender字段进行分组查询,查询出grade字段值之和小于300的分组,SQL语句及其执行结果如下所示:

   

 

 

4.使用LIMIT限制查询结果的数量

LIMIT,可以指定查询结果从哪一条记录开始以及一共查询多少条信息。

语法格式如下所示:

SELECT 字段名1,字段名2,……

FROM 表名

LIMIT [OFFSET,] 记录数

例如(1)查询student表中的前4条记录,SQL语句及其执行结果如下所示:

 

 

 

5.函数(列表)

 

 

 

 

 

 

 

例如(1)查询student表中的id和gender字段值,如果gender字段的值为“男”则返回1,如果不为“男”则返回0, SQL语句及其执行结果如下所示:

 

 

 

6.为表取别名

为表起别名的格式如下所示:

SELECT * FROM 表名 [AS] 别名;

7.为字段取别名

为字段起别名的格式如下所示:

SELECT 字段名 [AS] 别名[,字段名 [AS] 别名,……] FROM 表名;

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!