繁体   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