【MySQL】DQL-分组查询-语法&where与having的区别&注意事项&可cv例题语句

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【MySQL】DQL-分组查询-语法&where与having的区别&注意事项&可cv例题语句

前言

大家好吖,欢迎来到 YY 滴MySQL系列 ,热烈欢迎! 本章主要内容面向接触过C++ Linux的老铁

主要内容含:


DQL基本介绍&语法&各种查询语句总览

  • DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来 查询 数据库中表的记录。
  • 查询关键字: SELECT
  • DQL-语法
  • 各种查询语句总览

案例演示准备工作-表准备(必看!!!)

create table emp(

     id int comment  '编号 ',
     workno varchar(10) comment  '工号 ',
     name varchar(10) comment  '姓名 ',
     gender char(1) comment '性别' ,
     age tinyint unsigned comment '年龄',
     idcard char(18) comment‘身份证号’,
     entrydate date comment ‘入职时间’

)comment '员工表';

一.DQL-分组查询

语法&where与having的区别&注意事项&可cv例题语句

  • 如下所示:

where与having区别:

  1. 执行实际不同:where是 分组之前 进行过滤,不满足where条件,不参与分组;而having是 分组之后 对结果进行过滤。
  2. 判断条件不同:where不能对 聚合函数 进行判断,而having可以。

注意事项:

  • 执行顺序: where>聚合函数>having
  • 分组之后,查询的字段一般为 聚合函数和分组函数 ,查询其他字段无任何意义
--根据性别分组
--1.统计男性员工和女性员工的数量
select gender,count(*) from emp group by gender;

--2.根据性别分组,统计男性员工和女性员工的平均年龄
select gender, avg(age) from emp group by gender;

--3.查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址
select workaddress, count(*) from emp where age45 group by workaddress having count(*) >= 3;

-- 取别名后进行分组后的过滤
select workaddress, count(*) address_count from emp where age < 45 group by workaddress having address_count >= 3;

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4天前
|
关系型数据库 MySQL 分布式数据库
Hbase与MySQL对比,区别是什么?
Hbase与MySQL对比,区别是什么?
15 2
|
3天前
|
SQL 存储 数据处理
实时计算 Flink版产品使用合集之flink-connector-mysql-cdc 和 flink-sql-connector-mysql-cdc有什么区别
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
12 1
|
3天前
|
存储 关系型数据库 MySQL
MySQL各字符集、排序规则的由来、用法,区别和联系
MySQL支持多种字符集和排序规则,这些在数据库设计和数据处理中起着重要作用。下面是它们的由来、用法、区别和联系: 1. **字符集(Character Set)**: - **由来**:字符集定义了数据库中可以存储的字符集合,以及这些字符在数据库中的存储方式。 - **用法**:在创建数据库或表时,可以指定所需的字符集。常见的字符集包括UTF-8、UTF-16、Latin1等。 - **区别和联系**:不同的字符集支持不同的字符范围和存储方式,选择合适的字符集可以确保数据的正确存储和处理。例如,UTF-8支持全球范围内的大多数字符,而Latin1只支持西欧语言字符集。
|
4天前
|
NoSQL 关系型数据库 MySQL
B+树 和 跳表 的结构及区别,不同的用途【mysql的索引为什么使用B+树而不使用跳表?】
B+树 和 跳表 的结构及区别,不同的用途【mysql的索引为什么使用B+树而不使用跳表?】
21 2
|
4天前
|
关系型数据库 MySQL 数据库
mysql 设置环境变量与未设置环境变量连接数据库的区别
设置与未设置MySQL环境变量在连接数据库时主要区别在于命令输入方式和系统便捷性。设置环境变量后,可直接使用`mysql -u 用户名 -p`命令连接,而无需指定完整路径,提升便利性和灵活性。未设置时,需输入完整路径如`C:\Program Files\MySQL\...`,操作繁琐且易错。为提高效率和减少错误,推荐安装后设置环境变量。[查看视频讲解](https://www.bilibili.com/video/BV1vH4y137HC/)。
24 3
mysql 设置环境变量与未设置环境变量连接数据库的区别
|
4天前
|
SQL 关系型数据库 MySQL
DQL操作MySql
DQL操作MySql
12 0
|
4天前
|
关系型数据库 MySQL
MySQL union和union all的用法详解和区别
MySQL union和union all的用法详解和区别
11 0
|
4天前
|
存储 SQL 关系型数据库
mysql中MyISAM和InnoDB的区别是什么
mysql中MyISAM和InnoDB的区别是什么
16 0
|
4天前
|
关系型数据库 MySQL
MySQL 的 union 和union all 的区别
【5月更文挑战第4天】MySQL 的 union 和union all 的区别
27 7
|
4天前
|
SQL 关系型数据库 MySQL
【MySQL】DQL-案例练习-DQL基本介绍&语法&执行顺序(代码演示)
【MySQL】DQL-案例练习-DQL基本介绍&语法&执行顺序(代码演示)

推荐镜像

更多
http://www.vxiaotou.com