-- UNION 有以下几种特性:
-- ①、列名和数据类型:UNION 结果集里的列名来自于第一个 SELECT 里的列名
SELECT i1,c1 FROM t1 UNION SELECT i2,c2 FROM t2;
SELECT i1,c1 FROM t1 UNION SELECT c2,i2 FROM t2;
-- ②、重复行处理:默认情况下,UNION 会将结果集里的重复行剔除掉
SELECT * FROM t1 UNION SELECT * FROM t2;
-- 如果想保留重复的行,则需要把所有的 UNION 改为 UNION ALL
SELECT * FROM t1 UNION ALL SELECT * FROM t2;
-- ③、ORDER BY 和 LIMIT 处理
-- 注意:order by 只能引用第一个 select 语句里的列名
(SELECT i1,c1 FROM t1 LIMIT 1) UNION (SELECT i2,c2 FROM t2 LIMIT 2)
ORDER BY c1
LIMIT 2;
网友评论