SQL ServerのALIAS(エイリアス)とは?列・テーブルへの別名設定方法をわかりやすく解説
SQL ServerにおけるALIAS(エイリアス、別名)とは、列やテーブルに対して一時的な名前を付ける機能のことです。エイリアスは主に次の2つの目的で使用されます。
- 列のエイリアス(COLUMN ALIAS):クエリ結果の列見出しをわかりやすい名前にして、結果を見やすくするために使います。
- テーブルのエイリアス(TABLE ALIAS):SQL文を短縮して可読性を高めるため、あるいは同じテーブルをFROM句で複数回参照する場合(自己結合など)に使います。
ALIAS(エイリアス)の基本構文
列にエイリアスを設定する構文
列名 [ AS ] 別名
テーブルにエイリアスを設定する構文
テーブル名 [ AS ] 別名
各パラメータの意味
列名
エイリアスを付けたい対象となる、元の列の名前です。
テーブル名
エイリアスを付けたい対象となる、元のテーブルの名前です。
AS
省略可能なキーワードです。多くのプログラマーは列にエイリアスを付ける際にASを使用しますが、テーブルにエイリアスを付ける際は省略することが一般的です。SQL Serverでは、ASを付けても付けなくても動作に違いはありません(以降の例では、列にはASを付け、テーブルには付けない形式で記述します)。
別名
列やテーブルに設定する一時的な名前です。
注意点
- 別名に空白(スペース)が含まれる場合は、引用符で囲む必要があります。
- 列のエイリアスには空白を含めることができますが、テーブルのエイリアスには通常空白を使用しません。
- エイリアスは、そのSQL文の中でのみ有効であり、データベース自体に保存されるわけではありません。
なお、SQL Serverでは空白を含む別名をシングルクォート(')、ダブルクォート(")、または角括弧([ ])のいずれかで囲むことができます。
例1:列にエイリアスを設定する
列のエイリアスは、クエリ結果の列見出しを読みやすくするためによく使われます。
SELECT employee_id, first_name + last_name AS NAME
FROM employees
WHERE first_name = 'Sarah';
この例では、2番目の列(姓と名を連結した列)に「NAME」という別名を付けています。結果セットでは、2番目の列の見出しが「NAME」と表示されます。この別名に空白は含まれていないため、引用符で囲む必要はありません。ただし、あえて囲んでも問題ありません。
SELECT employee_id, first_name + last_name AS 'NAME'
FROM employees
WHERE first_name = 'Sarah';
次に、別名を引用符で囲む必要がある例を見てみましょう。
SELECT employee_id, first_name + last_name AS 'EMPLOYEE NAME'
FROM employees
WHERE first_name = 'Sarah';
この例では、別名「EMPLOYEE NAME」に空白が含まれているため、引用符で囲んでいます。結果セットでは、2番目の列の見出しが「EMPLOYEE NAME」と表示されます。
例2:テーブルにエイリアスを設定する
テーブルのエイリアスは、FROM句内で同じテーブルを複数回参照する場合(自己結合)や、長いテーブル名を短縮してSQL文を読みやすくしたい場合に役立ちます。
SELECT s.product_name, inventory.quality
FROM products s
INNER JOIN inventory
ON s.product_id = inventory.product_id
ORDER BY s.product_name ASC, inventory.quality DESC;
この例では、productsテーブルに「s」という別名を付けています。これにより、SQL文内ではproductsテーブルを「s」として参照できるようになります。なお、FROM句に含まれるすべてのテーブルにエイリアスを付ける必要はありません。たとえば、inventoryテーブルにも別名を付けると、次のように書けます。
SELECT s.product_name, h.quality
FROM products s
INNER JOIN inventory h
ON s.product_id = h.product_id
ORDER BY s.product_name ASC, h.quality DESC;
この例では、inventoryテーブルに「h」、productsテーブルに「s」という別名を付けており、SQL文全体がより簡潔で読みやすくなっています。
-
SQL ServerのPIVOT句とは?クロス集計で行を列に変換する方法を実例付きで解説
SQL Server(Transact-SQL)では、PIVOT句を使用することで、クロス集計(ピボットテーブル)を作成できます。PIVOT句は、テーブル内の行データを列に変換し、集計結果を見やすい形式で表示するための強力な機能です。 下図は、合計値を計算し、行データを列に変換して表示する例です。 PIVOT句の基本構文 SELECT cot_dautien AS bidanh_cot_dautien, [giatri_chuyen1], [giatri_chuyen2], … [giatri_chuyen_n] FROM ( SELECT bang_nguon.cot1
-
MS SQL Serverとは?特徴・主な用途・バージョン履歴・インスタンスの基インスタンスの基礎を徹底解説
SQL Server(MS SQL Server)とは? SQL Serverは、Microsoftが開発したリレーショナルデータベース管理システム(RDBMS)です。従来のRDBMSの枠組みにとどまらず、オブジェクト指向の概念も取り入れたORDBMS(オブジェクトリレーショナルデータベース管理システム)としての側面も併せ持っています。主な特徴は以下の通りです。 Microsoftが開発したRDBMSベースのデータベースソフトウェアである ORDBMS(オブジェクトリレーショナルデータベース管理システム)としても機能する 特定のプラットフォームに依存しない独立した環境で動作する コマンドライ