SQL の別名は、テーブルや列の見出しの名前を一時的に変更するために使用します。
SQL の別名は、データベース·テーブル、またはテーブル内の列に、一時的な名前を設定するために使用します。
基本的に、別名は列名を読みやすくするために作成します。
SELECT column_name AS alias_name
FROM table_name;
SELECT column_name(s)
FROM table_name AS alias_name;
このチュートリアルでは、よく知られた Northwind サンプルデータベースを使用します。
下は、"Customers" テーブルから抜粋したものです:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
および "Orders" テーブルからの抜粋です:
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10354 | 58 | 8 | 1996-11-14 | 3 |
10355 | 4 | 6 | 1996-11-15 | 1 |
10356 | 86 | 6 | 1996-11-18 | 2 |
次の SQL 文は、1 つは CustomerName 列のもので、もう 1 つは ContactName 列のものの、2 つの別名を指定しています。 チップ: 列名にスペースが含まれている場合は、2 重引用符か角カッコが必要です:
SELECT CustomerName AS Customer, ContactName AS [Contact Person]
FROM Customers;
Try it Yourself ❯
次の SQL 文では、4 つの列(Address、City、PostalCode、Country)を結合し、 別名 "Address" を作成します:
SELECT CustomerName, Address+', '+City+', '+PostalCode+', '+Country AS
Address
FROM Customers;
Try it Yourself ❯
注: MySQLで動作するような SQL 文は、以下のものを使用します:
SELECT CustomerName, CONCAT(Address,', ',City,', ',PostalCode,', ',Country)
AS Address
FROM Customers;
次の SQL 文は、CustomerID=4(Around the Horn)である customer から、全ての orders を選択します。 "Customers" と "Orders" テーブルを使用しますが、テーブルの別名としてそれぞれ "c" と "o" を使用します (ここでは、SQL を短くするために別名を使用しています):
SELECT o.OrderID, o.OrderDate, c.CustomerName
FROM Customers AS c, Orders
AS o
WHERE c.CustomerName="Around the Horn" AND
c.CustomerID=o.CustomerID;
Try it Yourself ❯
別名を使わない場合の SQL 文:
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM
Customers, Orders
WHERE Customers.CustomerName="Around the Horn" AND
Customers.CustomerID=Orders.CustomerID;
Try it Yourself ❯
別名は、次のような場合に便利です: