DQL_union和limit

union

可以将查询结果集相加(可以将两个不相关的数据拼接在一起),两个查询结果集的字段数需要一致

案例:找出工作岗位是salesman和manager的员工

1
select ename ,job from emp where job='SALESMAN' or job='MANAGER';
1
select ename ,job from emp where job in ('SALESMAN','MANAGER');
1
2
3
select ename ,job from emp where job='SALESMAN'
union
select ename ,job from emp where job='MANAGER';

将两个不相关的数据拼接在一起

1
2
3
select ename from emp
union
select dname form dept;

limit

limit 分页查询,mysql特有,取结果集中的部分数据,sql语句中最后执行的一个环节

rownum 分页查询,oracle特有

语法:

1
limit startIndex,length #startIndex起始位置,默认从0开始(第一条数据),length取几个

案例:取出工资前5名的员工

1
2
3
select ename,sal from emp order by sal desc limit 0,5;
或者
select ename,sal from emp order by sal desc limit 5;

分页通用公式:

1
limit (pageNo-1)*pageSize,pageSize