1 分页查询
- 应用场景:当要显示的数据一页显示不全,需要分页提交SQL请求
- 语法(一条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
# offset 要显示条目的起始索引(起始索引从0开始),从0开始时可以省略
# size 要显示的条目个数
- 特点
LIMIT
语句放在查询语句的最后- 实际使用过程中,offset和size需要从服务器端传递过来,此时存在一个换页的公式
LIMIT (PAGE - 1) * SIZE , SIZE
# 分页查询
# 1 查询前5条员工信息
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 emp
WHERE
emp.commission_pct IS NOT NULL
ORDER BY
emp.salary DESC
LIMIT 10;
2 联合查询
查询语句1
UNION
查询语句2
....
- 应用场景:查询的结果来自与多个表,且没有连接的条件,但查询的信息一致
- 注意事项:
- 要求多条查询语句的查询列数一致
- 要求多条查询语句的查询的每一列的类型和顺序最好一致
UNION
关键字默认去重,如果使用UNION ALL
关键字可以包含重复项
# 联合查询
select * from employees where email LIKE '%a%'
UNION
select * from employees where department_id > 90;