是否可以在内部联接期间重命名已连接的列?

时间:2011-05-13 15:51:29

标签: mysql sql database

假设我有两个表,ownerdog。两者都有列name,但我想加入它们,因此存在问题,因为两个表都有列name。我可以在查询期间重命名(别名)狗表中的name列吗?

4 个答案:

答案 0 :(得分:47)

select d.Name as DogName, o.Name
from Dog d
inner join Owner o on d.OwnerID = o.OwnerID

答案 1 :(得分:10)

是的,你可以,但是你必须列出所有字段,而不是使用select *

    select o.*, d.*
      from owner o
inner join (select dog_id, name as dog_name, breed, age, owner_id from dog) d
    on o.owner_id = d.owner_id

答案 2 :(得分:0)

是的,您可以重命名连接输出中的列,称为别名。但是,它们是相同的这一事实不会造成任何问题;他们只需要完全合格。

答案 3 :(得分:0)

你可以给列提供任何别名但是有一些规则,比如别名不能是SQL Server的关键字,它不能包含空格,如果你想要空间那么它应该在[]你可以不要使用某些符号作为别名。

Ex: - 选择owner.Id As [Int],Owner。,dog。 来自所有者内部联接Gog On Owner.Id = Dog.Id