• ④【数据查询】MySQL查询语句,拿来即用。


    在这里插入图片描述

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
    个人主页:.29.的博客
    学习社区:进去逛一逛~

    在这里插入图片描述


    ④【数据查询】MySQL查询语句,拿来即用。


    1. 语法编写顺序 以及 执行顺序

    DQL - 语法(编写顺序)

    • SELECT
      	字段列表
      FROM
      	表名列表
      WHERE
      	条件列表
      GROUP BY
       	分组字段列表
      HAVING
      	分组后条件列表
      ORDER BY
      	排序字段列表 排序规则
      LIMIT
      	分页参数
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14

    执行顺序

    • FROM
      	表名列表
      WHERE
      	条件列表
      GROUP BY
       	分组字段列表
      HAVING
      	分组后条件列表
      SELECT
      	字段列表
      ORDER BY
      	排序字段列表 排序规则
      LIMIT
      	分页参数
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
    • 查询表 ==> 分组前条件过滤 ==> 分组 ==> 分组后条件过滤 ==> 获取哪些字段 ==> 按照字段排序 ==> 分页显示




    2. 基本查询

    DQL - 基本查询

    • 基本查询

      • ①查询多个字段

      • SELECT 字段1,字段2,字段3... FROM 表名;
        
        • 1
      • SELECT * FROM 表名;
        
        • 1
      • ②设置别名

      • SELECT 字段1[AS 别名1],字段2[AS 别名2]... FROM 表名;
        
        • 1
      • ③去除重复记录(DISTINCT关键字)

      • SELECT DISTINCT 字段1,字段2,字段3... FROM 表名;
        
        • 1
      • SELECT DISTINCT * FROM 表名;
        
        • 1



    3. 条件查询

    DQL - 条件查询

      • ①根据条件查询字段

      • SELECT 字段列表 FROM 表名 WHERE 条件;
        
        • 1
    • 条件:

      • ①比较运算符:
      • >:大于
      • >=:大于等于
      • <:小于
      • <=:小于等于
      • =:等于
      • <>!=:不等于
      • BETWEEN...AND...:在某个范围以内(含最小、最大值)
      • IN(...):IN(…)括号内列表中的值,多选一
      • LIKE '占位符':模糊匹配(_匹配单个字符,%匹配任意个字符)
      • IS NULL:是NULL
      • ②逻辑运算符:
      • AND&&:并且(多个条件同时成立)
      • OR||:或者(多个条件任意一个成立)
      • NOT!:非,不是



    4. 聚合函数

    聚合函数

    • count():统计数量

    • max():求最大值

    • min():求最小值

    • avg():求平均值

    • sum():求和

    • 注意:null值不参与所有聚合函数的运算。

    • 使用聚合函数查询:

      • SELECT 聚合函数(字段列表) FROM 表名;
        
        • 1
        • -- 演示:
          -- 员工表,表名:emp
          
          -- 统计emp员工表的员工数量
          SELECT COUNT(*) FROM emp;
          
          -- 统计员工的平均年龄,字段age表示年龄
          SELECT AVG(age) FROM emp;
          
          -- 统计员工的最大年龄
          SELECT MAX(age) FROM emp;
          
          -- 统计员工的最小年龄
          SELECT MIN(age) FROM emp;
          
          -- 统计广东地区员工的年龄之和
          -- 地区字段:workaddress
          SELECT SUM(age) FROM emp WHERE workaddress = '广东';
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18



    5. 分组查询

    DQL - 分组查询

      • 分组查询数据:

      • SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];
        
        • 1
      • WHEREHAVING 区别:

        • 执行时机不同:where是分组之前进行过滤,不满足where的条件,不参与分组;而having是分组之后对结果进行过滤。
        • 判断条件不同:where不能使用聚合函数进行操作,而having可以
      • -- 演示
        
        -- 根据性别分组,统计男性员工和女性员工的数量
        -- 性别字段:sex
        SELECT sex,COUNT(*) 
        FROM emp 
        GROUP BY sex;
        
        -- 根据性别分组,统计男性员工和女性员工的平均年龄
        -- 性别字段:sex;年龄字段:age
        SELECT sex,AVG(age) 
        FROM emp 
        GROUP BY sex;
        
        -- 查询年龄小于45岁的员工,根据工作地址分组,获取员工数量大于3的工作地址
        SELECT workaddress,COUNT(*) 
        WHERE age < 45
        GROUP BY workaddress
        HAVING COUNT(*) > 3;
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19



    6. 排序查询

    DQL - 排序查询

      • 查询并排序

      • SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序规则1,字段2 排序规则2;
        
        • 1
      • 排序规则:

      • ASC —— 升序(默认值)

      • DESC —— 降序

      • 若不指定排序规则,默认按照升序排序。

      • 如果指定了多个排序字段,排序的数据只有当第一个字段值相同时,才会根据第二个字段进行排序。




    7. 分页查询

    DQL - 分页查询

      • 对查询进行分页:

      • SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;
        
        • 1
      • 注意:

        • ①起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示的查询记录数
        • ②分页查询在不同的数据库中实现方式不同,MySQL是LIMIT
        • ③如果查询的是第一页数据,可以省略起始索引,直接LIMIT 10




    在这里插入图片描述

  • 相关阅读:
    Java并发面试题:(八)AQS原理和Semaphore、CountdownLatch、CyclicBarrier类
    NXP官方uboot针对ALPHA开发板网络驱动更改说明三
    react路由传参3种方式
    C#学习笔记--面向对象三大特征
    使用Caffeine实现帖子的缓存来优化网站的运行速度
    2022学年第一学期郑州大学ACM招新赛&选拔赛
    服务网格和微服务架构的关系:理解服务网格在微服务架构中的角色和作用
    基于java图书馆借阅管理系统获取(java毕业设计)
    C#实现访问OPC UA服务器
    【6】Spring Boot 3 集成组件:knift4j+springdoc+swagger3
  • 原文地址:https://blog.csdn.net/ebb29bbe/article/details/134369196