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

Joh*_*ohn 31 mysql sql database

说我有两张桌子,owner而且dog.两者都有列name,但我想加入它们,因此存在问题,因为两个表都有列name.我可以name在查询期间重命名(别名)狗表中的列吗?

Red*_*ter 50

select d.Name as DogName, o.Name
from Dog d
inner join Owner o on d.OwnerID = o.OwnerID
Run Code Online (Sandbox Code Playgroud)

  • “Owner o”(第三行)与“Owner as o”有何不同? (2认同)
  • @FRD这只是做同样事情的一种简化方式。 (2认同)

mel*_*okb 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
Run Code Online (Sandbox Code Playgroud)