MySQL-是否可以在联接比较运算符中为列名使用别名?

MySQL-是否可以在联接比较运算符中为列名使用别名?,mysql,Mysql,例如: SELECT*FROM T1 JOIN T2 on(T1.id=T2.id作为辅助) 我试图将T2.id别名为aux——但这会引发错误 因此,结果获取的列将具有aux的列名,而不仅仅是它们两个的id 这样的列没有别名。您可以在子查询中执行此操作,但实现所需操作的正确方法是显式列出投影列,这是一种很好的样式。因此: SELECT T1.id, T2.id as aux, T1.col1, T2.col2 [,...] FROM T1 JOIN T2 on T1.id = T2.id 别

例如:

SELECT*FROM T1 JOIN T2 on(T1.id=T2.id作为辅助)

我试图将
T2.id别名为aux
——但这会引发错误


因此,结果获取的列将具有aux的列名,而不仅仅是它们两个的id

这样的列没有别名。您可以在子查询中执行此操作,但实现所需操作的正确方法是显式列出投影列,这是一种很好的样式。因此:

SELECT T1.id, T2.id as aux, T1.col1, T2.col2 [,...] FROM T1 JOIN T2 on T1.id = T2.id

别名用于列名和表名。你想做什么?为什么你需要在relation(两个表之间)语句中保留一个别名,你不能正确使用它。您可以保留T1&T2的别名,然后使用其别名选择它们,从T1 join T2 on(T1.id=T2.id)中选择T1.id以使返回的行不具有相同的列名。您不能在此语句中使用别名(T1.id=T2.id为aux),因为您不能使用此别名。但是,您可以尝试这样做,以避免select语句中的列重复。T1.id为t1id,T2.id为t2id