MySQL基础-DQL语句

SQL分类:
在这里插入图片描述

1.DQL-基本查询

查询多个字段

select name,workno,age from emp;
--尽量不要写*,可以写所有字段,不然会影响效率
select * from emp;

设置别名

在这里插入图片描述

注意:设置别名可以不用as关键字

select address (as) emp_address from emp;

去除重复记录

在这里插入图片描述

select distinct name from emp;

2.DQL-条件查询

在这里插入图片描述

select name from emp where salary = 10000;
select * from emp where age < 20;
--查询没有身份证号的员工
select * from emp where idcard is NULL;
--查询有身份证号的员工
select * from emp where idcard is not NULL;
--查询年龄在15岁(包含)到20岁(包含)之间的员工信息
select *from emp where age = 15 and age <= 20;
select * from emp where age between 15 and 20;

注意:用between…and得按照从小到大,不然是错误的

--查询年龄等于18或20或40岁的员工信息
select *from emp where age in(18,20,40);
--查询姓名为两个字的员工信息
select * from emp where name like '_ _';
--查询身份证号最后一位是X的员工信息
select *from emp where idcard like '%X';

3.DQL-聚合函数

在这里插入图片描述

--统计该企业员工数量
 select count(*) from emp;
 select count(id) from emp;
--统计该企业员工的平均年龄
select avg(age) from emp;
--统计该企业员工的最大年龄
select max(age) from emp;
--统计该企业员工的最小年龄
select min(age) from emp;
--统计西安地区员工的年龄之和
select sum(age) from emp where address = '西安';

4.DQL-分组查询

在这里插入图片描述

--根据性别分组,统计男性员工和女性员工的数量
select gender,count(*) from emp group by gender;
--根据性别分组,统计男性员工和女性员工的平均年龄
select gender,avg(age) from emp group by gender;
--查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址
select address,count(*) from emp where age < 45 group by address having count(*) >= 3;

在这里插入图片描述

5.DQL-排序查询

在这里插入图片描述

排序方式:

ASC:升序(默认)

DESC: 降序

--根据年龄对公司的员工进行升序排序
select *from emp order by age(asc);
--根据入职时间,对员工进行降序排序
select * from emp order by date desc;
--根据年龄对公司的员工进行升序排序,年龄相同,再按照入职时间进行降序排序
--注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序
select * from emp order by age ,date desc

6.DQL-分页查询

在这里插入图片描述

--查询第1页员工数据,每页展示10条记录
select * from  emp  limit 0,10;
--查询第2页员工数据,每页展示10条数据
select * from emp limit 10,10;

7.DQL-执行顺序

在这里插入图片描述

8.DQL-实战

在这里插入图片描述

1.select *from emp where age in(20,21,22,23);
2.select *from emp where gender = '男' and  age between 20 and 40 and name like '_ _ _';
3.select gender,count(*) from emp where age < 60 group by gender;
4.select name,age from emp where age <= 35 order by age asc,date desc;
5.select * from emp where gender = '男' and age between 20 and 40 order by age asc,date asc limit 5 ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习两年半的Javaer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值