我们都知道当几个数据集你能确保没有交集时,用UNION ALL能够达到最好的性能效果,但是效果好的代价就是它并不会帮你排序,这就涉及到UNION ALL的一个排序问题。举个例子:
1. CREATE TABLE a ( ID NUMBER,m_name VARCHAR2(10));
2. CREATE TABLE b ( ID NUMBER,m_name VARCHAR2(10));
3. SELECT * FROM a
4 c
9 b
SELECT * FROM b
3 p
1 i
8 e
4.现在我是想仅对第二个sql的id列进行排序,然后再与第一个sql进行UNION ALL,就需要这么写:
SELECT ,a.m_name
FROM a
UNION ALL
SELECT ID,m_name FROM
(SELECT ,b.m_name
FROM b
ORDER BY ID) c