内容简介:考察如下两个表:一个 union 示例:
UNION
用来合并多个 SELECT 结果。
考察如下两个表:
# t1 +----+---------+ | id | pattern | +----+---------+ | 1 | Divot | | 2 | Brick | | 3 | Grid | +----+---------+ # t2 +----+---------+ | id | pattern | +----+---------+ | 1 | Divot | | A | Brick | | B | Grid | | C | Diamond | +----+---------+
一个 union 示例:
mysql> select * from t1 union select * from t2; +----+---------+ | id | pattern | +----+---------+ | 1 | Divot | | 2 | Brick | | 3 | Grid | | A | Brick | | B | Grid | | C | Diamond | +----+---------+ 6 rows in set (0.00 sec)
默认情况下 UNION 结果中已经去重,所以无须指定 DISTINCT。如果想保留所有结果可指定 ALL
。
mysql> SELECT * FROM t1 UNION ALL SELECT * FROM t2; +----+---------+ | id | pattern | +----+---------+ | 1 | Divot | | 2 | Brick | | 3 | Grid | | 1 | Divot | | A | Brick | | B | Grid | | C | Diamond | +----+---------+ 7 rows in set (0.00 sec)
查询语句中可混合使用
UNION ALL
和
UNION DISTINCT
,右边的 UNION DISTINCT
替覆盖掉左边 UNION ALL
。
结果中的列名将使用第一个 SELECT 语句中定义的列名。各 SELECT 结果中对应位置的列其数据类型应该保持一致。如果不一致,MySQL 会根据结果中的数据类型及长度进行兼容的转换。
UNION 语句中只最后一个 SELECT 可指定 INTO OUTFILE。但其实整个 UNION 查询的结果都是存入这个文件的。
UNION 中不能搭配使用 HIGH_PRIORITY。如果该关键词指定在第一个 SELECT 身上,不会生效,指定在其他 SELECT 上会报语法错误。
结合使用 ORDER BY
或 LIMIT
时,应使用括号将 SELECT 语句包裹。
(SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10) UNION (SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);
对 UNION 结果进行整体 排序 和数量限制:
(SELECT a FROM t1 WHERE a=10 AND B=1) UNION (SELECT a FROM t2 WHERE a=11 AND B=2) ORDER BY a LIMIT 10;
SELECT 中指定了别名时,ORDER BY 应该使用该别名,而不是真实的列名。
-- :white_check_mark: (SELECT a AS b FROM t) UNION (SELECT ...) ORDER BY b; -- :rotating_light: Unknown column 'a' in 'order clause' (SELECT a AS b FROM t) UNION (SELECT ...) ORDER BY a;
以上所述就是小编给大家介绍的《MySQL UNION 查询》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Mybatis关联查询(嵌套查询)
- MySQL高级查询---连接查询实例
- Oracle子查询相关内容(包含TOP-N查询和分页查询)
- Laravel Query Builder 复杂查询案例:子查询实现分区查询 partition by
- 打造出色查询:如何优化SQL查询?
- SQL优化-慢查询+explain查询
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Database Design and Implementation
Edward Sciore / Wiley / 2008-10-24 / 1261.00 元
* Covering the traditional database system concepts from a systems perspective, this book addresses the functionality that database systems provide as well as what algorithms and design decisions will......一起来看看 《Database Design and Implementation》 这本书的介绍吧!