iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据库之union,limit和子查询详解
  • 615
分享到

MySQL数据库之union,limit和子查询详解

MySQLunionMySQLlimitMySQL子查询MySQLunionlimit子查询 2022-07-25 10:07:28 615人浏览 安东尼
摘要

目录1.where中的子查询2.from子句后的子查询3.uNIOn4.limit查询5.分页1.where中的子查询 示例数据参见此文章 案例:查询比最低工资高的员工姓名和薪资 子查询,先

1.where中的子查询

示例数据参见此文章

案例:查询比最低工资高的员工姓名和薪资

子查询,先查询子查询括号里的,再向上级进行查询

Mysql> select ename,sal from emp where sal
    -> >
    -> (select min(sal) from emp);
+--------+---------+
| ename  | sal     |
+--------+---------+
| ALLEN  | 1600.00 |
| WARD   | 1250.00 |
| JONES  | 2975.00 |
| MARTIN | 1250.00 |
| BLAKE  | 2850.00 |
| CLARK  | 2450.00 |
| SCOTT  | 3000.00 |
| KING   | 5000.00 |
| TURNER | 1500.00 |
| ADAMS  | 1100.00 |
| JAMES  |  950.00 |
| FORD   | 3000.00 |
| MILLER | 1300.00 |
+--------+---------+
13 rows in set (0.02 sec)

2.from子句后的子查询

from后面的子查询,可以将子查询的查询结果当作一张临时表来看待

案例:找出每个岗位的平均薪资的薪资等级

mysql> select
    -> t.*,s.grade
    -> from
    -> (select job,avg(sal) as avgsal from emp group by job) t
    -> join salgrade s
    -> on
    -> t.avgsal between s.losal and s.hisal;
+-----------+-------------+-------+
| job       | avgsal      | grade |
+-----------+-------------+-------+
| CLERK     | 1037.500000 |     1 |
| SALESMAN  | 1400.000000 |     2 |
| MANAGER   | 2758.333333 |     4 |
| ANALYST   | 3000.000000 |     4 |
| PRESIDENT | 5000.000000 |     5 |
+-----------+-------------+-------+
5 rows in set (0.00 sec)

3.union

Mysql UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

MySQL UNION 操作符语法格式:

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

参数

  • expression1, expression2, ... expression_n: 要检索的列。
  • tables: 要检索的数据表。
  • WHERE conditions: 可选, 检索条件。
  • DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT修饰符对结果没啥影响。
  • ALL: 可选,返回所有结果集,包含重复数据。

案例:查询工作岗位为MANAGER或者SALESMAN的员工信息(使用union)

mysql> select ename,job from emp where job = 'MANAGER'
    -> union
    -> select ename,job from emp where job = 'SALESMAN';
+--------+----------+
| ename  | job      |
+--------+----------+
| JONES  | MANAGER  |
| BLAKE  | MANAGER  |
| CLARK  | MANAGER  |
| ALLEN  | SALESMAN |
| WARD   | SALESMAN |
| MARTIN | SALESMAN |
| TURNER | SALESMAN |
+--------+----------+
7 rows in set (0.00 sec)

为什么使用union而不是or逻辑运算?因为union效率更高!

另外,对于表连接来说,如果有恰当的union语句可以操作与之相同的效果,优先使用union操作

union使用注意:

查询的两个结果集列数必须相同

在Mysql中列的数据类型可以存在差异,但是在oracle中则不可以

4.limit查询

limit用于限制结果集的长度

后面可以存在一个参数或者两个参数(起始下标,取数据条数)

案例:按照薪资降序取出排名前5的员工信息

mysql> select ename,sal
    -> from emp
    -> order by sal desc
    -> limit 0,5;
+-------+---------+
| ename | sal     |
+-------+---------+
| KING  | 5000.00 |
| FORD  | 3000.00 |
| SCOTT | 3000.00 |
| JONES | 2975.00 |
| BLAKE | 2850.00 |
+-------+---------+
5 rows in set (0.00 sec)

limit在order by之后执行

5.分页

假设每页要访问y条数据,那么第x页的数据就是

limit((x-1)*y,y)

以上就是MySQL数据库之union,limit和子查询详解的详细内容,更多关于MySQL union limit 子查询的资料请关注我们其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库之union,limit和子查询详解

本文链接: https://www.lsjlt.com/news/33446.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL数据库之联合查询 union
    目录1、应用场景2、基本语法3、order by的使用前言: 将多个查询结果的结果集合并到一起(纵向合并),字段数不变,多个查询结果的记录数合并 1、应用场景 同一张表中不同结果合并...
    99+
    2024-04-02
  • MySQL数据库查询进阶之多表查询详解
    目录一、多表查询1.引出2.笛卡尔积3. 笛卡尔积的解决方法二、多表查询分类1.等值连接和非等值连接2.自连接和非自连接3.内连接和外连接4.自然连接5.using连接三、子查询1....
    99+
    2024-04-02
  • MySql数据库基础之分组查询详解
    目录1. group by2. having1. group by 找出每个工作岗位的工资和? 思路:先按照工作岗位分组,然后对工资进行求和。 mysql> sele...
    99+
    2024-04-02
  • MySQL数据库子查询 sub query
    目录1、基本概念1.1、子查询1.2、主查询1.3、子查询和主查询的关系1.4、子查询的分类2、标量子查询2.1、基本语法2.2、示例3、列子查询3.1、基本语法3.2、示例4、行子...
    99+
    2024-04-02
  • MySQL数据查询之子查询的示例分析
    这篇文章主要介绍了MySQL数据查询之子查询的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。子查询是指一个查询语句嵌套在另一个查询语...
    99+
    2024-04-02
  • union和子查询中orderby一起使用导致排序失效问题及解决
    目录一、前言二、问题列举2.1 子查询中不能使用order by2.2 子查询order by无效2.3 排序条件不够严格导致分页数据重复总结一、前言 分页查询的需求如同家常便饭,多...
    99+
    2022-12-27
    union order by 子查询order by 排序失效问题
  • MySQL Union合并查询数据及表别名、字段别名用法分析
    本文实例讲述了MySQL Union合并查询数据及表别名、字段别名用法。分享给大家供大家参考,具体如下: union关键字 SELECT s_id, f_name, f_pr...
    99+
    2024-04-02
  • 数据库之MySQL查询去重数据
    最近遇到了一个问题,当时我的第一反应是导出来,用wps的Excel表格的删除重复项的功能,简单粗暴又直接,但是没有考虑到数据量太大的情况,会导致Excel打开缓慢。这个时候就考虑有没有更方便快捷的方法,网上也查询了很多方法,但是实践出真知,...
    99+
    2023-09-03
    数据库
  • Mysql查询优化之IN子查询优化方法详解
    目录物化表物化表转连接总结物化表 首先提出一个不相关的IN子查询 SELECT * FROM s1 WHERE key1 IN (SELECT commo...
    99+
    2023-02-09
    mysql in子查询优化 mysql in语句优化 mysql查询效率优化
  • MySQL数据库查询之多表查询总结
    目录多表关系表与表之间的联系:一对多(多对一)多对多一对一多表查询多表查询的分类1.连接查询:2.子查询内连接外连接自连接联合查询子查询标量子查询列子查询行子查询表子查询多表查询案例...
    99+
    2022-11-13
    mysql多表查询语句 mysql多表连接查询方式 mysql多表查询面试题
  • union和子查询中order by一起使用导致排序失效问题及解决
    目录一、前言二、问题列举2.1 子查询中不能使用order by2.2 子查询order by无效2.3 排序条件不够严格导致分页数据重复总结一、前言 分页查询的需求如同家常便饭,多数情况下主要利用order by和li...
    99+
    2022-12-27
    unionorderby 子查询orderby 排序失效问题
  • Mysql数据库理论基础之五--SELECT单多表查询、子查询、别名
    一、简介由MySQL AB公司开发,是最流行的开放源码SQL数据库管理系统,主要特点:1、是一种数据库管理系统2、是一种关联数据库管理系统3、是一种开放源码软件,且有大量可用的共享MySQL软件4、MySQ...
    99+
    2024-04-02
  • Mysql数据库时间查询举例详解
    目录1、查询当前时间  年月日时分秒2、查询当前时间 前三小时 的时间点3、查询当前时间  前三天 的时间点4、查新当前时间 前三分钟&nb...
    99+
    2023-05-19
    mysql查询时间语句 sql 查询时间 MySQL 获取当前日期
  • 三篇学会MySQL数据库【查询详解】
    作者:周棋洛 全文:三篇学会MySQL数据库【完整版】 简介:MySQL万字教程,从入门到精通,第二篇查询,第三篇讲讲解视图,存储过程,触发器,事物,维护,备份恢复等高级知识,单独写一篇是因为查询...
    99+
    2023-09-25
    mysql 数据库 database
  • mysql数据库查询基础命令详解
    目录1.启动数据库命令行客户端2.查询数据库3.进入数据库3.查询所在数据库中所有表信息4.查询数据库某张表结构5.简单select查询语句(单张表)5.1查询单张表所有数据5.2 LIMIT限制查询结果返回数...
    99+
    2022-11-19
    mysql数据库查询命令 mysql数据库查询 mysql数据库命令
  • mysql数据库查询缓存原理详解
    这篇文章将为大家详细讲解有关mysql数据库查询缓存原理详解,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql数据库查询缓存原理是:1、缓存SELECT操作...
    99+
    2024-04-02
  • mysql数据库子查询的实例用法
    本篇内容介绍了“mysql数据库子查询的实例用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#查询和Zl...
    99+
    2024-04-02
  • 数据库查询优化之子查询优化的示例分析
    这篇文章将为大家详细讲解有关数据库查询优化之子查询优化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 案例取所有不为掌门人的员工,按年龄分组!selec&#...
    99+
    2024-04-02
  • MySQL数据库之怎么联合查询
    这篇文章主要介绍了MySQL数据库之怎么联合查询的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL数据库之怎么联合查询文章都会有所收获,下面我们一起来看看吧。前言:将多个查询结果的结果集合并到一起(纵向合...
    99+
    2023-06-30
  • 怎么在MySql数据库中实现子查询
    这篇文章给大家介绍怎么在MySql数据库中实现子查询,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。MySql数据库中的子查询:子查询:在一条select查询语句中嵌套另一条s...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作