UNION
作用:查询结果集相加;
使用特点:第一个查询结果列的数量要和第二个查询结果列的数量一致,否则会报错。
- 例1、找出工作岗位是SALESMAN和MANAGER的员工?
第一种方法:
select
ename,job
from
emp
where
job = ‘SALESMAN’ or job = ‘MANAGER’;
第二种方法:
select
ename,job
from
emp
where
job
in(‘SALESMAN’,‘MANAGER’);
第三种方法:使用union
select ename,job from emp where job = ‘SALESMAN’
union
select ename,job from emp where job = ‘MANAGER’;
Limit
(分页查询主要依靠limit)
1、limit是mysql特有的,其他数据库没有,不通用。
(oracle中有一个相同的机制,叫做rownum)
2、limit取结果集中的部分数据,这是它的作用。
语法机制:
limit startIndex,length
StartIndex 表示起始位置 默认起始位置是0
0表示第一条数据。
Length 表示取几个
- 例1、取出工资前5名的员工?(思路:降序取前五个)
select ename,sal from emp order by sal desc limit 0,5;
或
select ename,sal from emp order by sal desc limit 5;
3、limit是sql语句最后执行的一个环节。
Select 5
…
From 1
…
Where 2
…
Group by 3
…
Having 4
…
Order by 6
…
Limit 7
…;
- 例2、取出工资排名在第4到9的员工?(思路:降序取第4-第九个)
select ename,sal from emp order by sal desc limit 3,6;
Java代码实现对结果集的分页
{
Int pageNo = 2; //页码是2;这里的页码是用户传入的页码数据
Int pageSize = 10; //每页显示10条,这是程序中规定好的数据
Limit (pageNo - 1) * pageSize, pageSize
}