Mysql

在與公共列的內部聯接上選擇 *

  • February 22, 2014

我有 3 個表(mysql db),我想在其上進行內部連接。問題是這些表有共同的列。我知道我可以使用別名來區分它們(select A.x as Ax, B.x as Bx, C.c as Cx ...),但這需要列出列。然而,這並不是一個真正的選擇。有沒有一種方法可以一次為表的所有列提供別名?

select a.* as a*什麼?

您需要自己指定每一列。

範例:表 Country 和 City 都有一個 name 列

SELECT 
   a.Name AS CountryNane, b.Name AS CityName, c.*
FROM
   Country a
       JOIN
   City b ON a.Code = b.CountryCode
       JOIN
   CountryLanguage c ON a.Code = c.CountryCode;

如果要為欄位分配別名,則必須在 SELECT 語句的列表欄位中顯式顯示該欄位。

因此,如果您的三個表中有通用名稱欄位,則必須顯式。

如果您使用這樣的符號,SELECT a.* ...您將顯示別名表的所有欄位,但標題列中的欄位名稱與表結構相同。

引用自:https://dba.stackexchange.com/questions/59336