在 SQL Server 中,可以使用
UNION ALL
操作符将两个表的结果合并成一个结果集,并使用
ORDER BY
子句对结果集进行排序。下面是一个示例 SQL 查询语句:
SELECT col1, col2, col3 FROM table1
UNION ALL
SELECT col1, col2, col3 FROM table2
ORDER BY col1 DESC, col2 ASC;
其中,table1 和 table2 分别表示要查询的两个表,它们必须具有相同的列数和相似的数据类型。col1、col2 和 col3 分别是要查询的列名,它们可以是不同的列名。在 ORDER BY 子句中,col1 DESC 表示按照 col1 列的降序排序,col2 ASC 表示按照 col2 列的升序排序。
如果需要去重,可以使用 UNION 操作符,它会自动去除重复的行。如果需要对两个表进行不同的排序,可以将它们作为子查询,然后在外层查询中进行排序。例如:
SELECT * FROM (
SELECT col1, col2, col3 FROM table1
UNION
SELECT col1, col2, col3 FROM table2
) AS t
ORDER BY col2 DESC, col1 ASC;
在这个示例中,使用 UNION 操作符去重,并将两个子查询合并成一个子查询 t,然后在外层查询中对 t 进行排序。