DQL基本查询
- 查询多个表
select 字段1,字段2,... from 表名;
select id, name from user;
- 查询全部字段
select * from 表名
select * from user;
- 条件查询
select 字段1,字段2,... from 表名 where 条件;
select id, name ,age from emp where gender='男';
DQL-聚合函数
- 将一列数据作为一个整体,进行纵向计算
- 常见聚合函数
函数 | 功能 |
---|---|
count | 求和 |
max | 最大值 |
min | 最小值 |
avg | 平均数 |
sum | 求和 |
- 语法
select 聚合函数(字段列表) from 表名
// 数量
select count(*) from emp;
// 平均数
select avg(age) from emp;
// 找最大年龄
select max(age) from emp;
DQL-分组查询
-
语法
select 字段列表 from 表名 [where 条件] group 分组字段名 [having 分组后过滤条件]
-
where 和 having 区别
执行时机不同:where是分组之前进行过滤,不满足where不参与分组;而having是分组之后进行过滤 判断条件不同:where不能对聚合函数进行判断,having可以;
select gender, count(*) from emp group by gender;
如:查询 年龄小于45的员工,并且根据工作地址分组,获取员工数量大于3的工作地址
select wordaddress, count(*) address_count from emp where age<45 group by wordaddress having address_count >3;
DQL-排序查询
- 语法
select 字段列表 from 表名 order by 字段1 排序方式1, 字段2排序方式2;
- 排序方式:
ASC:升序(默认值)
DESC:降序
- 根据年龄降序查看信息
select * from emp order by age desc;
- 根据年龄升序查看信息
select * from emp order by age asc;
- 根据年龄升序,如果年龄相同,按照card 降序排序
select * from emp order by age asc ,card desc;
DQL-分页查询
- 语法
select 字段列表 from 表名 limit 起始索引, 查询记录数;
- 查询emp表,前10个数据
select * from emp limit 0,10;