SQLのAS句は、クエリ結果やテーブルの列名、またはサブクエリに別名(エイリアス)を付けるために使用されます。
これにより、クエリの可読性を向上させたり、同じクエリ内でカラム名やテーブル名の衝突を回避したりすることができます。
AS句の基本的な使い方をまとめます。
基本構文
SQLにおけるAS句は次のような構文で使用します。
列(カラム)に別名を付ける
SELECT 列名 AS 別名
FROM テーブル名;
テーブルに別名を付ける
SELECT 別名.列名
FROM テーブル名 AS 別名;
使用例
列名のエイリアスを付ける
AS句を使用して列名をわかりやすい名前に変更します。
サンプルデータ
テーブル名:sales
| product_id | total_sales |
|---|---|
| 1 | 1000 |
| 2 | 1500 |
クエリ例
SELECT product_id AS 商品ID, total_sales AS 売上
FROM sales;
実行結果
| 商品ID | 売上 |
|---|---|
| 1 | 1000 |
| 2 | 1500 |
ポイント
- 日本語の列名を付けることでレポートに活用しやすくなります。
- 別名はクエリ実行結果にのみ影響を与え、元のテーブルには影響を与えません。
テーブル名にエイリアスを付ける
複数のテーブルを使用する場合、AS句でエイリアスを付けるとクエリが簡潔になります。
サンプルデータ
テーブル名:products と sales
products
| product_id | product_name |
|---|---|
| 1 | Apple |
| 2 | Banana |
sales
| product_id | total_sales |
|---|---|
| 1 | 1000 |
| 2 | 1500 |
クエリ例
SELECT p.product_name AS 商品名, s.total_sales AS 売上
FROM products AS p
JOIN sales AS s
ON p.product_id = s.product_id;
実行結果
| 商品名 | 売上 |
|---|---|
| Apple | 1000 |
| Banana | 1500 |
ポイント
- テーブルにエイリアスを付けることでクエリが読みやすくなります。
- 複数のテーブルに同じ列名があってもエイリアスを使えば衝突を防げます。
サブクエリにエイリアスを付ける
サブクエリに名前を付けることで、メインクエリ内で再利用しやすくなります。
クエリ例
SELECT sub.product_name AS 商品名, sub.total_sales AS 売上
FROM (
SELECT p.product_name, s.total_sales
FROM products AS p
JOIN sales AS s
ON p.product_id = s.product_id
) AS sub;
ポイント
- サブクエリに名前を付けることで、メインクエリが簡潔になります。
- 複雑な計算や集計をサブクエリで行い、それにエイリアスを付けて再利用するのが一般的です。
集計関数とエイリアス
集計結果に意味のある名前を付ける際にもAS句が有効です。
クエリ例
SELECT product_id AS 商品ID, SUM(total_sales) AS 合計売上
FROM sales
GROUP BY product_id;
実行結果
| 商品ID | 合計売上 |
|---|---|
| 1 | 1000 |
| 2 | 1500 |
注意点
ASは省略可能
一部のSQL環境ではASを省略できますが、記述するほうが可読性が向上します。SELECT product_id 商品ID, total_sales 売上 FROM sales;- SQLエンジンによる制約
一部のSQLエンジンではエイリアスに特定の文字(例: スペースや特殊文字)を使う際に、ダブルクォーテーションやバッククォートで囲む必要があります。SELECT product_id AS "商品 ID", total_sales AS "売上額" FROM sales; - エイリアスの使い過ぎに注意
過度にエイリアスを使用するとクエリが複雑になり、可読性を損なうことがあります。
おわりに
SQLのAS句は、列名やテーブル名にわかりやすい別名を付けることで、クエリの可読性を向上させる便利な機能です。列名の変更、テーブル名の短縮、サブクエリの整理など、さまざまな場面で活用できます。

