来自Mysql Documentation:
使UNION结果中的行包含行集 每个SELECT一个接一个地检索,选择一个 每个SELECT中的列用作排序列并添加ORDER BY 在最后一个SELECT之后:
(SELECT 1 AS sort_col, col1a, col1b, ... FROM t1) UNION (SELECT 2, col2a, col2b, ... FROM t2) ORDER BY sort_col;
要在各个SELECT结果中另外维护排序顺序, 将一个辅助列添加到ORDER BY子句:
(SELECT 1 AS sort_col, col1a, col1b, ... FROM t1) UNION (SELECT 2, col2a, col2b, ... FROM t2) ORDER BY sort_col, col1a;
使用附加列还可以确定哪个SELECT 每一行都来自。额外的列可以提供其他标识 信息,例如表示表名的字符串。
我的问题:
为此,我是否需要在表格中创建另外两列?
答案 0 :(得分:1)
没有。 mysql手册的sort_col
是动态创建的,具有常量值(1和2)。
类似地,您可以选择任何您想要的值而无需任何表格:
SELECT 1, 2, 3 FROM dual;