DQL(数据查询)语言的学习(4)
注意:以上为employees表、departments表、locations表、job_grades表、jobs表*
**
目录
- 分页查询
- 联合查询
**
**
1、分页查询
**
应用场景: 当要显示的数据,一页显示不全,需要分页提交sql请求
语法: 执行顺序
select 查询列表 7
from 表 1
【join type join 表2 2
on 连接条件 3
where 筛选条件 4
group by 分组字段 5
having 分组后的筛选 6
order by 排序的字段 8
】
limit offset,size; 9
特点:
1、 limit语句放在查询语句的最后
2、 公式:要显示的页数page,每页的条目数
select 查询列表
from 表
*limit (page-1)size ,size;
例如:
size=10 | Page |
---|---|
1 | 0 |
2 | 10 |
3 | 20 |
案例1:查询前五条员工信息
select * from employees limit 0,5;
select * from employees limit 5;
案例2:查询第11条-第25条
select * from employees limit 10,15;
案例3:有奖金的员工信息,并且工资较高的前10名显示出来
select * from employees
where commission_pct is not null
order by salary desc
limit 0,10;
练习1
已知表 stuinfo
id 学号
name 姓名
email 邮箱 john@126.com
gradeId 年级编号
sex 性别 男 女
age 年龄
已知表 grade
id 年级编号
gradeName 年级名称
一、查询所有学员的邮箱的用户名(注:邮箱中@前面的字符)
select substring(email,1,instr(email,'@')-1) '用户名' from stuinfo;
二、查询男生和女生的个数
select count(*) 个数,sex from stuinfo group by sex;
三、查询年龄>18的所有学生的姓名和年级名称
select name,gradeName
from stuinfo s join grade g on s.gradeId=g.id where age>18;
三、 查询哪个年级的学生最小年