目录
  • 1. union合并查询结果集
  • 2. limit分页查询

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内容请搜索本网站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本网站!

您可能感兴趣的文章:

  • MySQL 8.0 对 limit 的优化技巧
  • MySQL 原理与优化之Limit 查询优化
  • MySQL数据库之union,limit和子查询详解
  • 详细介绍mysql中limit与offset的用法
  • MySQL之select、distinct、limit的使用
  • MySQL Limit执行过程分析探索