2016-12-02 40 views
1

我有2個選擇語句。我結合他們。別名工會的結果

select * from t1 
union all 
select * from t2 

我可以別名結果嗎?會像

union all as t3 

工作嗎?

+0

什麼你想用別名來完成嗎? –

+0

@Tim基本上有很多表格。我想先結合2個表格,然後再結合其他2個表格或與另一個表格或另一個工會的結果結合。所有這些可能會被其他一些陳述分開。 –

+0

然後,您可以考慮使用一個或多個CTE來保持組織結構。 –

回答

8

你當然可以別名UNION查詢本身:

SELECT t.* 
FROM 
(
    SELECT * FROM t1 
    UNION ALL 
    SELECT * FROM t2 
) t 

如果你想辦法重用UNION查詢,您可以考慮使用公用表表達式(CTE):

WITH cte AS (
    SELECT * FROM t1 
    UNION ALL 
    SELECT * FROM t2 
) 
SELECT * FROM cte 
+1

在第一個示例中,SQL *強制*指定一個範圍變量,即使您實際上並不需要它,例如將'SELECT t。*'改爲'SELECT *',這有點傻。 CTE優越! – onedaywhen