TOP

SQL エイリアス

SQL エイリアスの説明

SQL エイリアスは、テーブルまたはテーブル内の列に一時的な名前を付けるために使用されます。

エイリアスは、列名を読みやすくするためによく使用されます。

エイリアスは、現在のリクエストの存続期間中にのみ存在します。

エイリアスは、AS キーワードを使用して作成されます。


列エイリアスの構文

SELECT column_name AS alias_name
FROM table_name

エイリアステーブルの構文

SELECT column_name(s)
FROM table_name AS alias_name

デモデータベース

以下はテーブル「Customers」(「顧客」) のサンプルです。

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico

テーブル "Orders" ("Orders") のサンプル:

ProductIDOrderIDCustomerIDEmployeeIDOrderDateShipperID
1102489051996-07-043
2102498161996-07-051
3102503441996-07-082

列の別名の例

次の SQL ステートメントは、CustomerID 列用と CustomerName 列用の 2 つのエイリアスを作成します。

Run SQLSELECT CustomerID AS ID, CustomerName AS Customer 
FROM Customers

次の SQL ステートメントは 2 つのエイリアスを作成します。1 つは CustomerName 列用で、もう 1 つは ContactName 列用です。

注: エイリアスにスペースが含まれる場合は、二重引用符または角括弧が必要です。

Run SQLSELECT CustomerName AS Customer, ContactName AS 'Contact Person' 
FROM Customers

次の SQL ステートメントは、4 つの列 (住所、郵便番号、都市、国) を連結する「Address」 (「住所」) という名前の別名を作成します。

SELECT CustomerName, Address + ', ' + PostalCode + ' ' + City + ', ' + Country AS Address 
FROM Customers

上記の SQL ステートメントを MySQL で機能させるには、次を使用します。

Run SQLSELECT CustomerName, CONCAT(Address,', ',PostalCode,', ',City,', ',Country) AS Address 
FROM Customers

上記の SQL ステートメントを Oracle で機能させるには、次を使用します。

SELECT CustomerName, (Address || ', ' || PostalCode || ' ' || City || ', ' || Country) AS Address 
FROM Customers

テーブルのエイリアスの例

次の SQL ステートメントは、CustomerID = 4 (「Around the Horn」) を持つ顧客からのすべての注文を選択します。 テーブル "Customers" と "Orders" を使用し、それぞれテーブル エイリアス "c" と "o" を与えます (ここでは SQL クエリを短くするためにエイリアスを使用しています)。

Run SQLSELECT o.OrderID, o.OrderDate, c.CustomerName 
FROM Customers AS c, Orders AS o 
WHERE c.CustomerName = 'Around the Horn' AND c.CustomerID = o.CustomerID

次の SQL ステートメントは上記と同じですが、別名がありません。

Run SQLSELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM Customers, Orders
WHERE Customers.CustomerName = 'Around the Horn' AND Customers.CustomerID = Orders.CustomerID

エイリアスは次の場合に役立ちます。

  • クエリには複数のテーブルが含まれています。
  • クエリでは関数が使用されます。
  • 列名が大きいか判読不能です。
  • 2 つ以上の列が結合されます。