• 数据库-MySQL-基础(5)- DQL


     

    目录

    DQL-聚合函数

    1、介绍

    2、常见聚合函数

    3、语法

    4、案例 

    DQL-分组查询

    1、语法

    2、where 与having区别

    3、案例

    4、注意

    DQL-排序查询

    1、语法

    2、排序方式

    3、案例

    DQL-分页查询

    1、语法

    2、注意

    3、案例

    DQL-执行顺序


    DQL-聚合函数

    1、介绍

    将一列数据作为一个整体,进行纵向计算。

    2、常见聚合函数

    函数功能
    count统计数量
    max最大值
    min最小值
    avg平均值
    sum求和

    3、语法

    SELECT 聚合函数(字段列表)FROM 表名;


    4、案例 

    注意这个表初始为

    查询start_table 这张表的总数据量

    select  count(*) from start_table;

      结果为6 

      查询具体字段(id)的总数据量

    select  count(id) from start_table;

       结果为6

      注意:null 值不参与聚合函数运算(如果你查询address  出现结果为5)

      统计该表中所有明星 id 平均值

    select  avg(id) from start_table;

     求统计表中最大的id

    select  max(id) from start_table;

     统计所有表中男性id之和

    select  sum(id) from start_table where gender = '男';

     


    DQL-分组查询

    1、语法

    SELECT 字段列表 FROM 表名  [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组过滤后条件]   

    2、where 与having区别

    ——执行时机不同:where 是分组之前进行过滤,不满足where条件,不参与分组:与having是分组之后对结果进行过滤。

    ——执行条件不同:where 不能对聚合函数进行判断,而having可以。

    3、案例

      根据性别进行分组,统计男性,女性数量 

    select gender,count(*) from start_table group by gender;

     

      根据性别分组,统计男性员工和女性员工的平均 id

    1. select gender,avg(id) from start_table group by gender;

     

    根据性别分组,统计所有地址为安徽或者北京的人的数量,count 要大于等于2

    select gender,count(*) from start_table where address = '安徽' || address = '北京' having count(*)>=2;

    4、注意

    ——执行顺序:where > 聚合函数 >having

    ——分组之后查询的字段一般为聚合函数和分组字段,查询其他字段毫无意义

    (比如如果你按照性别分组,但是你在前面查询姓名,查询的姓名只出现一个,这个不代表什么)


    DQL-排序查询

    1、语法

    SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式 1,字段2 排序方式2;

    2、排序方式

    ——ASC:升序(默认值)

    ——DESC: 降序

    注意:如果是多字段排序,当第一个字段相同时,才会根据第二个字段进行排序。

    3、案例

      根据 id 进行降序排序

    select * from start_table order by id DESC ;


    DQL-分页查询

    1、语法

    SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录;


    2、注意

    ——起始索引从0开始,起始索引 = (查询页码  - 1)* 每页显示记录数。

    ——分页查询是数据库的方言,不同数据库有不同的实现,MySQL是LIMIT。

    ——如果查询的是第一页数据,起始索引可以省略,直接写limit 10。

    3、案例

      查询第一页明星数量,每页展示3条记录

    select  *from start_table limit 0,3;
    select  *from start_table limit 3;

     

    查询第二页明星数量,每页展示3条记录 

     注:(2 - 1)*3 = 3 ——(页码- 1)* 页展示记录数 

    select  *from start_table limit 3,3;


     

    DQL-执行顺序

    编写顺序和执行顺序

     

  • 相关阅读:
    大学生书店系统
    React 18 迁移状态逻辑至 Reducer 中
    uni-admin 利用云数据表自动生成页面
    vue深拷贝的几种实现方式
    动态规划模型:0-1背包问题
    【论文阅读】—— PointNet
    关于图灵测试和中文屋Chinese room的理解
    CSS水平垂直居中方案
    【AtomicReference、AtomicStampedReference】常规用法
    IPMP、PMP、CPMP三个证书该如何选择,有什么区别,哪个对于工作上的
  • 原文地址:https://blog.csdn.net/qq_64691289/article/details/127116984