SQLチュートリアル

SQL HOME SQLイントロ SQL構文 SQL Select SQL Select Distinct SQL Where SQL And、Or、Not SQLの順序 SQL Insert Into SQLNull値 SQLアップデート SQL削除 SQL Select Top SQLの最小値と最大値 SQLカウント、平均、合計 SQL Like SQLワイルドカード SQL入力 SQLの間 SQLエイリアス SQL結合 SQL内部結合 SQL左結合 SQL右結合 SQL完全結合 SQL自己結合 SQLユニオン SQL Group By SQLを持っている SQLが存在する SQL Any、All SQL Select Into SQL Insert Into Select SQLケース SQLNull関数 SQLストアドプロシージャ SQLコメント SQL演算子

SQLデータベース

SQL Create DB SQLドロップDB SQLバックアップDB SQLテーブルの作成 SQLドロップテーブル SQL ALTER TABLE SQLの制約 SQLはNullではありません SQL独自 SQL主キー SQL外部キー SQLチェック SQLのデフォルト SQLインデックス SQL自動インクリメント SQLの日付 SQLビュー SQLインジェクション SQLホスティング SQLデータ型

SQLリファレンス

SQLキーワード MySQL関数 SQLServerの機能 MSAccess関数 SQLクイック参照

SQLの

SQLの例 SQLクイズ SQL演習 SQL証明書

SQLエイリアス


SQLエイリアス

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

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

エイリアスは、そのクエリの期間中のみ存在します。

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

エイリアス列の構文

SELECT column_name AS alias_name
FROM table_name;

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

SELECT column_name(s)
FROM table_name AS alias_name;

デモデータベース

このチュートリアルでは、よく知られているNorthwindサンプルデータベースを使用します。

以下は、「顧客」テーブルからの抜粋です。

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

そして、「注文」テーブルからの選択:

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ステートメントは、2つのエイリアスを作成します。1つはCustomerID列用で、もう1つはCustomerName列用です。

SELECT CustomerID AS ID, CustomerName AS Customer
FROM Customers;

次のSQLステートメントは、2つのエイリアスを作成します。1つはCustomerName列用で、もう1つはContactName列用です。注:エイリアス名にスペースが含まれている場合は、二重引用符または角かっこが必要です。

SELECT CustomerName AS Customer, ContactName AS [Contact Person]
FROM Customers;

次のSQLステートメントは、4つの列(Address、PostalCode、City、Country)を組み合わせた「Address」という名前のエイリアスを作成します。

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

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

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

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

次のSQLステートメントは、CustomerID = 4(Around the 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;

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

  • クエリに関係するテーブルが複数あります
  • 関数はクエリで使用されます
  • 列名が大きいか、あまり読みにくい
  • 2つ以上の列が結合されている

エクササイズで自分をテストする

エクササイズ:

テーブルを表示するときは、列CustomersのALIASを作成します。代わりPostalCodeに、列を呼び出す必要があります。Pno

SELECT CustomerName,
Address,
PostalCode 
FROM Customers;