gpt4 book ai didi

mysql - 在此 SQL 查询中 Tmp(email) 有什么用?

转载 作者:行者123 更新时间:2023-11-29 16:06:38 28 4
gpt4 key购买 nike

我正在使用 Db2,今天我运行了此查询。

MERGE INTO table1 AS A 
USING (VALUES('${user.email}')) AS TMP(EMAIL)
ON A.EMAIL=TMP.EMAIL

那么,这部分的关键字AS,它是否会创建TMP作为新表?

我在 MySQL 中尝试了一些类比,但它告诉我错误。

select *
from table1 join
table2 using (id) as TMP(EMAIL);

最佳答案

AS TMP(EMAIL 是一个关联子句,它是table reference 的一部分

它为 VALUES 语句生成的表分配一个“别名”(相关名称),并为其唯一的列分配一个名称。 MySQL v8 也 supports this syntax对于子选择表。

第二个示例中的错误是您将相关子句与其表名分开。它应该如下所示(请注意,您不能在此处分配列别名,因为 table2 不是子选择):

select *
from table1 join
table2 as TMP using (id);

在此示例中,您可以还指定一个列别名:

select *
from table1 join
(select 'foo@bar.com') as TMP (EMAIL) using (EMAIL);

关于mysql - 在此 SQL 查询中 Tmp(email) 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55681814/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com