进阶8、分页查询
应用:当页面上的数据用一页显示不完时,需要分页显示。
分页查询的sql命令请求数据库服务器—>服务器响应查询到的多条数据—>前台页面
语法
select 查询列表
from 表1 别名
join 表2 别名
on 连接条件
where 筛选条件
group by 分组
having 分组后筛选
order by 排序列表
limit 起始条目索引,指定显示的条目数
执行顺序
- from 子句
- join子句
- on 子句
- where 子句
- group by子句
- having 子句
- select子句
- order by子句
- limit 子句 (limit索引从0开始)
特点
-
起始条目索引如果不写就是默认为0。
-
limit后面支持2个参数:
- 参数1:显示的起始条目索引。
- 参数2:要显示的条目数。
-
公式
假如要显示的椰树是page,每页显示的条目数为size
**select **
from employees
*limit (page-1)size,size;
page size=10 1 limit 0,10; 2 limit 10,10; 3 limit 20,10; 4 limit 30,10; 查询员工信息表前5条
SELECT * FROM employees; SELECT * FROM employees LIMIT 5; SELECT * FROM employees LIMIT 1,3; #从员工信息索引1开始,显示3条 SELECT * FROM employees LIMIT 0,5; #不写起始索引数,默认从0开始
查询有奖金的、工资较高的第11到20名
SELECT salary FROM employees WHERE commission_pct IS NOT NULL ORDER BY salary DESC LIMIT 10,10;
进阶9、联合查询
当查询结果来自于多张表,但多张表之间没有关联,此时往往使用union查询,也叫联合查询
语法
select 查询列表 from 表1 where 筛选条件
union
select 查询列表 from 表2 where 筛选条件
union
…
;
特性
-
多条待联合的查询语句的查询列数必须一致,查询类型、字段意义最好一致。
-
UNION 实现去重查询
UNION ALL 实现全部查询,包括重复项。
联合查询 UNION
SELECT username 名字,password 性别
FROM admin
UNION
SELECT name,sex
FROM beauty;
UNION 自动去重 UNION ALL 可以出现重复
SELECT 1,'张三'
UNION
SELECT 1,'张三'
UNION
SELECT 1,'张三'
UNION
SELECT 1,'张三'
UNION ALL
SELECT 1,'张三' #输出为: 1 张三