mysql-210712-04

本文介绍了MySQL中UNION操作的使用,通过示例展示了如何合并两个查询结果以获取特定工作岗位的员工。同时,详细解释了LIMIT关键字在分页查询中的应用,包括其语法和在SQL执行顺序中的位置。还提供了标准分页SQL的实现方式,以及如何根据页码和每页显示条数进行动态分页查询。

mysql-210712-04

  • union用法
  • limit
  • 标准分页SQL

union用法

uniton 
	可以将查询结果集相加
	
SQL语句1
union
SQL语句2;
使用union时,SQL1和SQL2中列(字段)必须一样
案例1
// 找出工作岗位是salesman和manager的员工
mysql> select ename from emp where job='salesman' or job='manager';
mysql> select ename from emp where job in('salesman','manager');
// 找出工作岗位是salesman和manager的员工
mysql> select ename from emp where job='salesman'
    -> union
    -> select ename from emp where job='manager';
+--------+
| ename  |
+--------+
| ALLEN  |
| WARD   |
| MARTIN |
| TURNER |
| JONES  |
| BLAKE  |
| CLARK  |
+--------+
7 rows in set (0.00 sec)

limit

完成分页查询
分页查询就靠它了
limit是mysql中特有的,不通用
Oracle中有一个相同的机制,叫rownum
语法机制:
	limit startIndex,length
		startIndex	表示起始位置
		length	表示取几个
		下标从0开始
	
limit 是SQL最后执行的一个环节


执性顺序:
select 		5
	...
from		1
	...		
where		2
	...		
group by	3
	...
having		4
	...
order by	6
	...
limit		7
	...
案例1
// 取出工资前五名的员工
// 降序排
select ename,sal from emp order by sal desc;

// 取前五个
// 0可以不写,默认从0开始-
select ename,sal from emp order by sal desc limit 0,5;
select ename,sal from emp order by sal desc limit 5,;
案例2
// 找出工资排名在第4到第9名的员工
select
	ename,sal 
from 
	emp 
order by 
	sal desc 
	limit 3,6;
mysql> select ename,sal from emp order by sal desc limit 4,6;
+--------+---------+
| ename  | sal     |
+--------+---------+
| BLAKE  | 2850.00 |
| CLARK  | 2450.00 |
| ALLEN  | 1600.00 |
| TURNER | 1500.00 |
| MILLER | 1300.00 |
| WARD   | 1250.00 |
+--------+---------+
6 rows in set (0.00 sec)

标准分页SQL

每页显示3条记录
第1页:0,3
第2页:3,3
第3页:6,3
第4页:9,3
第5页:12,3

每页显示pageSize条记录
第pageNO页:(pageNo-1)*pageSize

java代码{
	int pageNo = 4;		//  页码
	int pageSize = 7;	// 	显示条数
	
	// 显示这页记录
	limit (4-1)*7 , 7
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值