经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MySQL » 查看文章
MySql nion与Limit查询介绍
来源:jb51  时间:2022/9/20 9:29:03  对本文有异议

1. union合并查询结果集

查询工作岗位是 MANAGER 和 SALESMAN 的员工?

mysql> select ename, job from emp where job = 'MANAGER' or job = 'SALESMAN';

 mysql> select ename, job from emp where job in('MANAGER', 'SALESMAN');

mysql> select ename, job from emp where job = 'MANAGER' union select ename, job from emp where job = 'SALESMAN';

union 的效率要高一些。

对于表的连接,每一次连接新表,则匹配的次数满足笛卡尔积,成倍的翻…

但是 union 可以减少匹配的次数。在减少匹配次数的情况下,还可以完成两个结果集的拼接。

a 连接 b 一个结果:10 * 10 --> 100

a 连接 c 一个结果:10 * 10 --> 100

使用 union 的话:100 + 100 --> 200

注意事项:

  • 使用 union 进行结果集合并,要求两个结果集的列数相同。
  • 两个结果的列的数据类型也要一致(mysql不要求一致)

2. limit分页查询

limit 作用:将查询结果集的一部分取出来。通常使用在分页查询当中。

按照薪资降序,取出排名在前5名的员工?

mysql> select ename, sal from emp order by sal desc limit 5;

mysql> select ename, sal from emp order by sal desc limit 2, 3;

2:从第三个开始(下标从0开始)

3:三个数据

注意:mysql 中 limit 在 order by 之后执行!!!

到此这篇关于MySql nion与Limit查询介绍的文章就介绍到这了,更多相关MySql Union Limit内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接: NPS