鉴于这是在 mysql 脚本中定义的:
`Project1`.`Id` AS `Id1d334656-0d51-4bf6-bb08-6c25d01e7745`
这是否意味着
`Project1`.`Id`
不再可以通过该名称访问,并且只能通过
`Project1`.`Id1d334656-0d51-4bf6-bb08-6c25d01e7745`
?
背景:这个脚本是由 MySqlConnector/net 生成的,这是生成的命令的一部分。
鉴于这是在 mysql 脚本中定义的:
`Project1`.`Id` AS `Id1d334656-0d51-4bf6-bb08-6c25d01e7745`
这是否意味着
`Project1`.`Id`
不再可以通过该名称访问,并且只能通过
`Project1`.`Id1d334656-0d51-4bf6-bb08-6c25d01e7745`
?
背景:这个脚本是由 MySqlConnector/net 生成的,这是生成的命令的一部分。
别名没有表分配,所以它只是ID1d3346etc....
. 如果他们这样做了,那将破坏别名的目的,例如
select table1.x AS abc, table2.x AS abc
将是一个错误,即使这两个别名来自不同的表。
是的。它很像在选择时重命名列。在查询之外,select
应使用别名引用列,但在选择查询中,您应该使用表列,例如:
select col1 as a
from table b
where col1 = 'xxx';
但在选择查询之外,应使用别名:
select a
from (select col1 AS a From table) b
where a = 'xxxx';
如果您尝试使用表列,它将失败:
<<----FAILURE -->
select col1
from (select col1 AS a From table) b
where a = 'xxxx';