#分页查询
应用场景:当页面上的数据,一页显示不全,则需要分页显示
分页查询的sql命令请求数据库服务器---->服务器响应查询到多条数据-->前台页面
语法:
select 查询列表
from 表名
where 筛选条件
group by 分组
having 分组后
order by 排序列表
limit 起始条目索引,显示的条目数
执行顺序:
1、from子句
2、join子句
3、on子句
4、where子句
5、group by子句
6、having子句
7、select子句
8、order by子句
9、limit子句
①起始条目索引从0开始,如果不写,则就是从0开始显示
参数1:显示的起始条目索引
参数2:条目数
公式:
假如要显示的页数是page,每页显示的条目数为size
select *
from employees
limit (page-1)*size,size;
#查询员工信息表的前5条
SELECT * FROM `employees` LIMIT 0,5;
#完全等价于
SELECT * FROM `employees` LIMIT 5;
#查询有奖金的,且工资较高的第11名到第20名
SELECT *
FROM employees
WHERE `commission_pct` IS NOT NULL
ORDER BY salary DESC
LIMIT 10,10;
#联合查询
说明:当查询结果来自于多张表,但多张表之间没有关联,
这个时候往往使用联合查询,也称为Union
语法:
select 查询列表 from 表1 where 筛选条件
union
select 查询列表 from 表2 where 筛选条件
特点:
1、多条待联合的查询语句的查询列表必须一致,查询类型、字段意义最好一致
2、union实现去重查询
union all 实现全部查询,包含重复项
#查询所有国家的年龄>20岁的用户信息
SELECT * FROM usa WHERE uage>20
UNION
SELECT * FROM chinese WHERE age>20;
#查询所有国家的用户姓名和年龄
SELECT uname,uage FROM usa
UNION
SELECT age,`name` FROM chinese;