前言
大家好吖,欢迎来到 YY 滴MySQL系列 ,热烈欢迎! 本章主要内容面向接触过C++ Linux的老铁
主要内容含:
欢迎订阅 YY滴C++专栏!更多干货持续更新!以下是传送门!
- YY的《C++》专栏
- YY的《C++11》专栏
- YY的《Linux》专栏
- YY的《数据结构》专栏
- YY的《C语言基础》专栏
- YY的《初学者易错点》专栏
- YY的《小小知识点》专栏
- YY的《单片机期末速过》专栏
- YY的《C++期末速过》专栏
- YY的《单片机》专栏
- YY的《STM32》专栏
- YY的《数据库》专栏
- YY的《数据库原理》专栏
目录
- DQL基本介绍&语法&各种查询语句总览
- 案例演示准备工作-表准备(必看!!!)
- 一.DQL-分组查询
- 语法&where与having的区别&注意事项&可cv例题语句
DQL基本介绍&语法&各种查询语句总览
- DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来 查询 数据库中表的记录。
- 查询关键字: SELECT
- DQL-语法
- 各种查询语句总览
案例演示准备工作-表准备(必看!!!)
- 如下所示创建表,并批量插入数据
- 批量插入数据见DML语句操作(下方有传送门)
- 【MySQL】DML的表操作详解:添加数据&修改数据&删除数据(可cv例题语句)
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区别:
- 执行实际不同:where是 分组之前 进行过滤,不满足where条件,不参与分组;而having是 分组之后 对结果进行过滤。
- 判断条件不同: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;