MySQL学习笔记之分页查询,应用LIMIT实现分页查询以及联合查询UNION

一、分页查询,应用LIMIT实现分页查询

  • 语法:
	select 查询列表
	from[连接类型 join] 表名 on 连接条件
	[where 筛选条件]
	[group by 分组条件]
	[having 筛选条件]
	[order by 排序]
	limit [startindex],size; --分页查询
  • 其中:

    • startindex表示要显示的条目的起始索引(从0开始)
    • size表示要显示的条目个数
  • 特点:
    ①、limit语句放在查询语句的最后
    ②、公式,若每页有size条记录,要显示的页数为page

    select 查询列表 fromlimit (page-1)*size, size; 
    

案例1 显示前5名员工的信息

SELECT * FROM employees LIMIT 0,5;

SELECT * FROM employees LIMIT 5; #startindex表示默认从0开始显示

案例2 显示11–25条员工的信息

SELECT * FROM employees LIMIT 11,15;

案例3 查询有奖金的工资较高的前10名员工的信息

SELECT * FROM employees 
WHERE commission_pct IS NOT NULL 
ORDER BY salary DESC
LIMIT 10;

二、 小总结:说出MySQL中所有的查询语句的关键词,以及执行顺序

select 查询列表 ⑧ -->根据要查询的具体字段,生成一个虚拟表
from 表 ① -->生成原始的表
连接类型 join 表名 ② -->生成一个大表,笛卡尔乘积表
on 连接条件 ③ -->根据连接条件,留下符合条件的
where 筛选条件 ④ -->再根据筛选条件,生成一个符合该条件的表
group by 分组条件 ⑥ -->分组
having 筛选条件 ⑦ -->再根据筛选条件,生成一个符号条件的表
order by 排序 ⑨ -->对⑧中的表根据排序条件进行排序
limit [startindex],size; ⑩ -->根据limit条件显示具体数目的结果

三、联合查询 union

  • union 联合查询 合并:将多条查询语句的结果合并成一个结果

  • 语法:

	查询语句1
	union
	查询语句2
	union
	....
  • 应用场景:要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致

  • 特点或要求:

    • ① 要求多条查询语句的查询列数一致
    • ② 要求多条查询语句的每一列的类型和顺序最好一致
    • ③ union联合查询默认会去重,union all 可以包含重复项

案例4 查询部门编号大于90或工资高于12000的员工信息

SELECT * FROM employees WHERE department_id > 90
UNION
SELECT * FROM employees WHERE salary > 12000;

你可能感兴趣的:(MySQL学习,mysql,sql,分页查询,联合查询,union)