SQL语句四种分类之一(DQL)
1.介绍
DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。
2.基本语法
如下图所示:
3.DQL–基本查询
-
1.查询多个字段
(两种语句均可,以下同)
例1查询指定字段
例2查询所有字段
-
2.字段设置别名
-
3.去除重复记录
4.DQL–条件查询
-
4.1条件
-
4.2语法
*where是分组之前进行过滤,不满足where条件,不参与分组;where不能对聚合函数进行判断。
例1查询年龄小于等于20的员工信息:
例2查询没有身份证号的员工信息:
例3查询年龄不等于20的员工信息:
例4查询年龄在20到80之间的员工信息:
例5查询性别为女且年龄小于20的员工信息:
例6 查询年龄等于20或40或70的员工信息:
例7查询姓名为两个字的员工信息:
例8 查询身份证号最后一位为X的员工信息:
5.DQL–聚合函数
-
5.1介绍 将一列数据作为一个整体,进行纵向计算。 5.2聚合函数 5.3语法
例1统计员工总数量:
例2统计员工的idcard(不为空)的总数量
例3统计所有员工的平均年龄:
例4统计员工中最大年龄:
例5统计北京地区的员工年龄之和:
6.DQL–分组查询
*having是分组之后对结果进行过滤,还可以对聚合函数进行判断。
注意 (1)分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。 (2)执行顺序:where > 聚合函数 > having。 (3)支持多字段分组,具体语法为:group by column A,columnB
例1根据性别分组,统计男性员工和女性员工的数量:
例2根据性别分组,查询男性员工和女性员工的平均年龄
例3查询年龄小于40的员工 , 并根据工作地址分组 , 获取员工数量大于等于3的工作地址
例4统计各个工作地址上班的男性、女性员工的数量
7.DQL–排序查询
*排序方式:
-
ASC:升序(默认值) DESC:降序
例1根据年龄进行降序排序
例2按照入职时间进行升序排序:
例3根据年龄进行升序,入职时间相同则进行降序
8.DQL–分页查询
注意: (1)起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数。 (2)如果查询的是第一页数据,起始索引可以省略。 (3)不同数据库有不同的实现,MySQL中是LIMIT。
例1查询第1页的员工数据, 每页展示10条记录
例2 查询第2页数据, 每页展示10条记录
9.DQL语句的执行顺序
from … where … group by …having … select … order by … limit …