第十课 分页查询_联合查询

分页查询_联合查询

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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值