MySql nion与Limit查询介绍

1. union合并查询结果集

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

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

MySql nion与Limit查询介绍_第1张图片

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

MySql nion与Limit查询介绍_第2张图片

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

MySql nion与Limit查询介绍_第3张图片

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 nion与Limit查询介绍_第4张图片

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

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

3:三个数据

MySql nion与Limit查询介绍_第5张图片

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

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

你可能感兴趣的:(MySql nion与Limit查询介绍)