听起来您正在寻找的是UNION ALL操作员。
SELECT t1.id, t1.name, t1.created FROM tbl1 t1
UNION ALL
SELECT t2.id, t2.name, t2.created FROM tbl2 t2
UNION ALL
SELECT t3.id, t3.name, t3.created FROM tbl3 t3
UNION ALL
SELECT t4.id, t4.name, t4.created FROM tbl4 t4
UNION ALL
SELECT t5.id, t5.name, t5.created FROM tbl5 t5
ORDER BY 3
该UNION ALL运算符基本上将查询的结果连接到一个结果集中。请注意,表达式的数量和每个表达式的数据类型必须在所有查询中匹配。(如果您需要在其中一个查询中包含额外的列,则需要在其他查询中添加相应的表达式(甚至是虚拟占位符)。
当我进行这样的查询时,包含一个表达式(列)有时会很有帮助,它告诉我哪个源查询返回了该行:
SELECT 't1' as source, t1.id, t1.name, t1.created FROM tbl1 t1
UNION ALL
SELECT 't2', t2.id, t2.name, t2.created FROM tbl2 t2
UNION ALL
SELECT 't3', t3.id, t3.name, t3.created FROM tbl3 t3
UNION ALL
SELECT 't4', t4.id, t4.name, t4.created FROM tbl4 t4
UNION ALL
SELECT 't5', t5.id, t5.name, t5.created FROM tbl5 t5
ORDER BY 4
请注意,ORDER BY 适用于整个结果集,您必须引用表达式以按列位置排序。