`

MySQL组合查询union

阅读更多
1. 组合查询

组合查询union
SQL> select vend_id, prod_id, prod_price from products where prod_price <= 5 union select vend_id, prod_id, prod_price from products where vend_id in (1001, 1002);

组合查询union all
SQL> select vend_id, prod_id, prod_price from products where prod_price <= 5 union all select vend_id, prod_id, prod_price from products where vend_id in (1001, 1002);

对组合查询结果排序
SQL> select vend_id, prod_id, prod_price from products where prod_price <= 5 union all select vend_id, prod_id, prod_price from products where vend_id in (1001, 1002) order by vend_id, prod_price;

1. 组合查询使用条件
    在单个查询中从不同的表返回类似结构的数据;
    对单个表执行多次查询,按单个查询返回数据;
2. union规则
    1) union必须由两条或者两条以上select语句组成,语句之间用关键字union分隔(因此,如果组合4个select语句,必须使用3个union关键字);
    2) union中的每个表达式必须包换相同的列、表达式、聚集函数(不过个个列不需要以相同的次序列出)
    3) 列数据类型必须兼容:类型不必完全相同,但必须是DBMS可以隐含地转换的类型(例如,不同的数值类型或不同的日期类型)
3. union自动去除重复的行
   union all不会自动去除重复的行
4. 在使用union组合查询时,只能使用一条order by子句,它必须出现在最后一条select语句之后。
分享到:
评论

相关推荐

    MySQL UNION 与 UNION ALL 语法与用法.docx

    MySQL UNION 语法用于把来自多个 SELECT 语句的结果组合到一个结果集合中。其语法格式为:SELECT column,... FROM table1 UNION[ALL] SELECT column,... FROM table2...其中,column 是要查询的字段,table1 和 ...

    MySQL的or、in、union与索引优化

    本文将基于一个具体的业务场景来探讨在MySQL中使用`union all`、`in`、`or`以及负向查询(如`!=`)时如何有效地利用索引。 #### 一、`union all`肯定能命中索引 假设有一个名为`order`的订单业务表,其结构如下: ...

    mysql查询根据列按条件统计总数

    ### MySQL 查询根据列按条件统计总数 在MySQL中,经常需要对数据进行统计分析,特别是针对某一特定条件下的数据总量的统计。...通过这种方式,我们可以灵活地组合不同的查询来满足复杂的数据统计需求。

    MySQL如何使用union all获得并集排序

    在MySQL中,`UNION ALL` 用于合并多个`SELECT`语句的结果集,而这里的重点是如何在合并结果后进行排序。在给定的场景中,我们有一个文章数据表,其中文章的状态通过`PROMOTE_STATUS`字段表示,分别对应0(待发布)、...

    mysql所有的查询语句详解

    4. **FULL OUTER JOIN**:返回两个表中所有匹配和不匹配的行(MySQL不支持,但可以使用UNION实现类似效果)。 三、聚合函数 MySQL提供了多种聚合函数,用于对一组值进行计算: 1. **COUNT()**:计算非NULL值的...

    详解MySQL中UNION的用法

    在MySQL中,`UNION` 是一种用于合并多个SELECT语句结果集的工具,它可以将来自不同表的数据组合成一个单一的结果集。`UNION` 关键字的主要目的是去除重复的行,使得最终的结果集中不包含重复记录。然而,如果你需要...

    数据库MySQL-union(联合)

    在另一个例子中,我们展示了如何使用`UNION`将两个不同的条件查询组合起来,比如查询上海的男生和北京的女生。方法一是使用单一的`WHERE`子句,而方法二是使用`UNION`将两个独立的条件查询拼接起来,两者的效果是...

    MYSQL执行计划及索引最佳实践

    MySQL执行计划是MySQL处理SQL查询的方式,它提供了关于SQL语句如何被优化和执行的信息。通过理解执行计划,可以有效地优化SQL查询,提高数据库性能。 ##### 1.1 EXPLAIN SQL `EXPLAIN` 命令用于分析SQL查询的执行...

    MySQL union 语法代码示例分析

    总之,MySQL的UNION语法是数据库查询中一种强大的工具,它可以让你灵活地组合多个查询结果,以满足复杂的查询需求。理解和熟练使用UNION将极大地增强你在数据库管理和数据分析方面的技能。在实践中,务必注意列类型...

    MySQL连接查询.docx

    MySQL中的连接查询是数据库操作中的核心技能之一,它允许用户将多个表的数据组合在一起,以获取更复杂的数据分析结果。本文将深入探讨七种主要的MySQL连接查询类型,并提供每种查询的实现示例。 1. 内连接(INNER ...

    25.3 MySQL 多表查询

    8. **笛卡尔积(CARTESIAN JOIN)**:如果没有指定任何连接条件,MySQL 默认执行笛卡尔积,即每个左表记录与右表的每条记录组合。通常这不是我们想要的结果,除非明确知道你在做什么。 在进行多表查询时,应考虑...

    韩忠康MySQL笔记

    在处理不同条件的复杂查询时,`UNION`或`UNION ALL`可以帮助你组合多个逻辑操作,简化查询。 子查询是嵌套在另一个SQL语句中的查询,可以返回单个值、单列、多列或整个结果集。在韩忠康的笔记中,他使用子查询来找...

    MySQL中or、in、union与索引优化详析

    总结来说,优化MySQL查询时,应优先考虑使用`IN`操作符和`UNION ALL`,避免使用`OR`和负向查询。同时,注意查询的可读性、可维护性和业务适用性。在编写查询时,应充分理解索引的工作原理,以确保最大限度地利用索引...

    mysql性能的优化

    - **DEPENDENT UNION**:联合查询中依赖于外层查询的第二或后续查询。 - **UNION RESULT**:联合查询的结果集。 - **SUBQUERY**:子查询的第一个SELECT语句。 - **DEPENDENT SUBQUERY**:依赖于外层查询的子查询...

    MySQL中union和join语句使用区别的辨析教程

    MySQL中的`UNION`和`JOIN`语句是两种用于合并数据的方法,它们在不同的场景下有着各自的优势和用途。本教程将详细讲解这两种语句的使用区别。 首先,`UNION`主要用于合并两个或多个SELECT查询的结果集,它会去除...

    mysql查询语句学习记录.zip

    MySQL查询语句是数据库管理中不可或缺的部分,它用于从数据表中检索信息。在这个名为"mysql查询语句学习记录.zip"的压缩包中,我们很可能找到了一个由kwan1117编写的关于MySQL查询的学习笔记或教程。下面将详细讨论...

    mysql_adv_select.rar_any left join_union

    总结起来,`LEFT JOIN UNION ALL`的组合使用在处理多表数据时提供了极大的灵活性,尤其在需要根据用户需求动态获取和展示数据库信息的CMS系统中。熟练掌握这种技术,不仅可以提升开发效率,还能保证系统的响应速度和...

    MySQL查询指令汇总

    ### MySQL查询指令汇总 #### 一、MySQL 查询语法基础 MySQL 是一款广泛使用的开源关系型数据库管理系统,其查询语句的基础构建块是 `SELECT` 语句。通过使用不同的组合和选项,`SELECT` 语句能够实现复杂的数据...

Global site tag (gtag.js) - Google Analytics