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 …

经验分享 程序员 微信小程序 职场和发展