SQL別名は一時的にテーブルまたは列見出しの名前を変更するために使用されています。
SQLエイリアス
SQLエイリアスは、データベーステーブル、またはテーブル内の列、一時的な名前を与えるために使用されています。
基本的には別名が列名を読みやすくするために作成されます。
列のSQLエイリアスの構文
SELECT column_name AS alias_name
FROM table_name;
テーブルのSQLエイリアスの構文
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 Constitucion 2222 | Mexico D.F. | 05021 | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mataderos 2312 | Mexico 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文は、二つの別名、担当者名欄のためのCustomerName列の1と1を指定します。 ヒント:列名にスペースが含まれている場合は、二重引用符または角カッコが必要です。
次のSQL文では、4つの列結合(Address, City, PostalCode 、およびCountry )と名付けられ、別名作成"Address" :
例
SELECT CustomerName, Address+', '+City+', '+PostalCode+', '+Country AS
Address
FROM Customers;
»それを自分で試してみてください 注:以下を使用のMySQLで動作するように、上記のSQL文を取得するには:
SELECT CustomerName, CONCAT(Address,', ',City,', ',PostalCode,', ',Country)
AS Address
FROM Customers;
表の別名の例
次のSQL文を持つ顧客からの注文をすべて選択CustomerID=4 (アラウンドHorn )。 私たちは、使用"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;
»それを自分で試してみてください エイリアスなしの同じSQL文:
例
SELECT Orders.OrderID, Orders.OrderDate, Customers.CustomerName
FROM
Customers, Orders
WHERE Customers.CustomerName="Around the Horn" AND
Customers.CustomerID=Orders.CustomerID;
»それを自分で試してみてください 別名はときに便利です。
- クエリに含ま複数のテーブルがあります。
- 関数は、クエリで使用されています
- 列名は、非常に読みやすい大きいかではありません
- 二つ以上の列が組み合わされ