簡體   English   中英

SQL Join結果表作為別名

[英]SQL Join result table as alias

有沒有辦法為聯接的結果表賦予別名?

查詢示例:

SELECT *
FROM t1
JOIN t2
ON t1.num = t2.num
AS result;

是!

select result.* 
from (SELECT *
    FROM t1
    JOIN t2
    ON t1.num = t2.num) result

您需要注意兩個內部表中哪里有相同名稱的列; 您將在結果表中看到num的列錯誤。 與其選擇*,不如選擇一個想要的人。

您可以使其成為表表達式(子查詢)並為其指定別名,但是在您的簡單示例中,我看不到它可以帶來什么好處。 我假設您將在更復雜的查詢中使用它

SELECT *
FROM (
    SELECT t1.id, t1.name, t2.category, t2.subcategory
    FROM t1
    INNER JOIN t2 ON t1.id=t2.id
) AS result
LEFT JOIN t3 ON result.id=t3.id
SELECT result.* FROM 
(SELECT *
FROM t1
JOIN t2
ON t1.num = t2.num) AS result;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM