单表并集查询

SELECT m1 FROM t1 WHERE m1 < 2;
SELECT m1 FROM t1 WHERE m1 > 2;
SELECT m1 FROM t1 WHERE m1 < 2 OR m1 > 2;
SELECT m1 FROM t1 WHERE m1 < 2 UNION SELECT m1 FROM t1 WHERE m1 > 2;
SELECT m1, n1 FROM t1 WHERE m1 < 2 UNION SELECT m1, n1 FROM t1 WHERE m1 > 2;

多表并集查询

SELECT m1, n1 FROM t1 WHERE m1 < 2 UNION SELECT m2, n2 FROM t2 WHERE m2 > 2;

最终结果显示的列为m1和n1。

并集查询默认会过滤掉结果集中重复的记录,如果要保留重复的记录,则可以使用UNION ALL来进行连接。

并集查询支持使用ORDER BY和LIMIT子句,但并集查询并不保证最终结果集中的顺序是按照各个小查询的顺序来显示的,比如下面的语句:

(SELECT m1, n1 FROM t1 ORDER BY m1 DESC) UNION (SELECT m2, n2 FROM t2 ORDER BY m2 DESC);

最终结果虽然是左右两个小查询合并而来,但是顺序并不是各自排序的。

  • 无标签