分页查询(limit子句)
分页查询指从数据库中每次查出一页数据,使用limit关键字。其基本语法
limit offset,size
其中offset表示该页第一条数据的索引位置,注意起始索引从0开始计数。当offset为0时,可省略。
size表示每页数据大小。
特点
- limit语句放在其他所有查询语句最后,表示mysql引擎最后执行limit。数据都已经按条件筛选完毕,从中取出若干条,因此在最后。
- 假设程序的页码page(从1开始计数)和页大小size以变量的形式传递给sql,则转化为limit语句为
limit (page-1)*size,size
实例
#1 查询前5条员工信息
SELECT *
FROM employees
LIMIT 5; //从0开始,起始位置可省略
#查询第11条-25条记录
SELECT *
FROM employees
LIMIT 10,15;
联合查询(union)
联合查询将多条查询条件的结果合并成一个结果。其基本语法
查询语句1
union [all] //all表示不去重
查询语句2
union
查询语句N
联合查询一般可使用条件合并实现,即不再使用union关键字。但某些场景中(查询结果来源于多个表,且他们之间毫无关系),只能使用union实现。在使用联合查询时,要注意结果对齐:
- 要求多条查询语句的查询列数一致。
- 要求多条查询语句的查询列表的每一列的数据类型和顺序一致。
- union默认去重,可使用union all关闭去重。