我是靠谱客的博主 自然棒球,最近开发中收集的这篇文章主要介绍union+limit+通用标准分页unionlimit通用标准分页,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

union

将查询的结果集相加

条件:
两张虚拟表具有 相同的列数
虚拟表对应的列数的 数据类型 相同
select ...... union select ......	

举例:

select ename from emp union select dname from dept;

mysql> select ename from emp union select dname from dept;
+------------+
| ename      |
+------------+
| SMITH      |
| ALLEN      |
| WARD       |
| JONES      |
| MARTIN     |
| BLAKE      |
| CLARK      |
| SCOTT      |
| KING       |
| TURNER     |
| ADAMS      |
| JAMES      |
| FORD       |
| MILLER     |
| ACCOUNTING |
| RESEARCH   |
| SALES      |
| OPERATIONS |
+------------+
注:用于联合查询出来的列数必须一致
例如:不可
select ename from emp union select dname,deptno from dept;

limit

1.limit 是 Mysql 特有的,其它数据库中没有,在 Oracle 中有一个类似的叫做 rownum
2. limit 取结果集中的部分数据

 语法:
 limit a,b
 解释:a 表示从 a+1 号开始取,b 表示取几个数据
 
 startIndex   表示起始位置,从0开始,0为第一条数据
 length       表示取几个

示例一:查出编号前五名的员工

select ename,empno from emp limit 0,5;
select ename,empno from emp limit 5;
注:0,55 等价的,表示 0~5
mysql> select ename,empno from emp limit 0,5;
+--------+-------+
| ename  | empno |
+--------+-------+
| SMITH  |  7369 |
| ALLEN  |  7499 |
| WARD   |  7521 |
| JONES  |  7566 |
| MARTIN |  7654 |
+--------+-------+

示例二:查出薪水第7~10名

select ename,sal from emp order by sal desc limit 6,4;

mysql> select ename,sal from emp order by sal desc limit 6,4;
+--------+---------+
| ename  | sal     |
+--------+---------+
| ALLEN  | 1600.00 |
| TURNER | 1500.00 |
| MILLER | 1300.00 |
| WARD   | 1250.00 |
+--------+---------+

执行顺序

select          5from            1where           2group by        3having          4limit           6号
注:limitsql语句 最后执行的环节

通用标准分页

将 a 条数据分成 b 页显示,每页显示(a/b)条数据
第1页:limit 0,(a/b)
......
第n页:limit (n-1)*(a/b),(a/b)

最后

以上就是自然棒球为你收集整理的union+limit+通用标准分页unionlimit通用标准分页的全部内容,希望文章能够帮你解决union+limit+通用标准分页unionlimit通用标准分页所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部