MySQL的UNION用法
Notes:SQL文件
介绍MySQL中的组合查询
MySQL允许执行多个查询(多条SELECT语句),并将结果作为单个查询结果集返回。这些组合查询通常称为并或复合查询。
什么时候需要使用组合查询:
- 在单个查询中从不同的表返回类似结构的数据;
- 对单个表执行多个查询,按单个查询返回数据。
使用UNION
SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price <= 5;
SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN (1001,1002);
使用WHERE写法:
SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price <= 5 OR vend_id IN (1001,1002);
使用UNION拼接:
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指示MySQL执行两条SELECT语句,并把输出组合成单个查询结果集。
UNION规则
- UNION必须由两条以上的SELECT语句组成,语句之间用关键字UNION分割。
- UNION中的每个查询必须包含相同的列、表达式或聚集函数(各个列不需要以相同的次序列出)。
- 列数据类型必须兼容:类型不必完全相同,但必须是DBMS可以隐含地转换的类型。
- 如果取出来的数据不需要去重,使用UNION ALL。
UNION与WHERE
UNION几乎总是完成与多个WHERE条件相同的工作。UNION ALL为UNION的一种形式,它完成WHERE完成不了的工作。如果确实需要每个条件的匹配行全部出现(包括重复行),则必须使用UNION ALL而不是WHERE。
对组合查询结果排序
SELECT语句的输出用ORDER BY子句排序。在用UNION组合查询时,只能使用一条ORDER BY子句,它必须出现在最后一条SELECT语句之后。对于结果集,不存在用一种方式排序一部分,而又用另一种方式排序另一部分的情况,因此不允许使用多条ORDER BY子句。
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) ORDER BY vend_id,prod_price;
MySQL的UNION用法相关推荐
- mysql union result,【经验】Mysql的UNION用法解析及TP中写法
最近也是在写项目中碰到的这个问题,需要将两个SELECT查询结果组合起来进行分组排序,想到了用union方法,用TP的union操作根本无法完成复杂的union操作,于是搜罗了一下,先说一下union ...
- mysql: union / union all / 自定义函数用法详解
mysql: union / union all http://www.cnblogs.com/wangyayun/p/6133540.html mysql:自定义函数用法详解 http://www. ...
- mySql中union all 及max,ifnull用法
mySql中union all 及max,ifnull用法 selectifnull(max(d.orderNum),0) totalNum,ifnull(max(d.money),0) totalM ...
- mysql union如何排序_Mysql中UNION用法与排序
最近也是在写项目中碰到的这个问题,需要将两个SELECT查询结果组合起来进行分组排序,想到了用union方法,用TP的union操作根本无法完成复杂的union操作,于是搜罗了一下,先说一下union ...
- MySql数据库explain用法示例_mysql explain用法学习
本节内容: mysql中explain用法 如果在select语句前放上关键词explain,mysql将解释它如何处理select,提供有关表如何联接和联接的次序. explain的每个输出行提供一 ...
- MySql的Explain用法
MySql的Explain用法 explain执行计划 explain执行计划 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的.分析你的查询语句 ...
- 【MySQL】explain 用法详解
[MySQL]explain 用法详解 explain命令主要来查看SQL语句的执行计划,查看该SQL语句有没有使用索引,有没有做全表扫描等.它可以模拟优化器执行SQL查询语句,从而知道MySQL ...
- MySQL:讨人喜欢的 MySQL replace into 用法(insert into 的增强版)
讨人喜欢的 MySQL replace into 用法(insert into 的增强版) 在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在: 2. 如果不存在,则插入:3.如果 ...
- 【node】express中mysql的基本用法、连接池的使用、事务的回滚
[node]express中mysql的基本用法.连接池的使用 安装mysql包 mysql的配置信息 mysql基本操作 查询mysql并渲染数据 mysql插入操作 首先在html页面写上< ...
最新文章
- Science Advances: 中科院微生物所叶健团队揭示双生病毒调控植物免疫平衡制约机制...
- MYSQL-RJWEB 博客学习
- BLE Mesh(2)—— 基本术语及含义
- [C++学习笔记](double*)malloc(n * sizeof(double));
- 线性规划与网络流24题●09方格取数问题13星际转移问题
- 网游服务器端设计思考:心跳设计
- 前端js文件合并三种方式
- 产品经理和开发打起来了
- 交互式python解释器_从python脚本中调用python交互式解释器
- java 正则表达式 数量
- Android Studio 3.4升级后的运行问题解决办法
- Python菜鸟入门:day09数据结构
- Visual FoxPro操作dbf时语句过长换行问题
- linux压缩文件zip,在 Linux 上压缩文件:zip 命令的各种变体及用法
- 吹气球-LintCode
- 探究空心超顺磁性四氧化三铁纳米微粒的制备方法-瑞禧
- 如何激发孩子的想象力_如何激发孩子的创造力,想象力?
- 解除封闭、寒假延长!多校发通知
- 赠书活动 | 万亿级市场:大家都能看到的机会谈不上机会
- Excel 2010 VBA 入门 138 添加选项卡和内置控件
热门文章
- NSA,放开那头魔兽!
- rgba背景是黑灰色html,IE8下兼容rgba颜色的半透明背景_html/css_WEB-ITnose
- python实现二维tensor对应列相同元素的个数
- selenium Cannot call non W3C standard command while in W3C mode解决
- 技术平台应用开发专题月 | 企业上云利器-YMS(Yon Middleware Service)
- Android的Activity生命周期以及模式
- iTunes备份在哪里,iTunes备份文件路径
- 深入浅出理解卷积运算
- 对数正态lognormal分布图像
- 计算机专业课程 视频教程