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
句は、列名やテーブル名にわかりやすい別名を付けることで、クエリの可読性を向上させる便利な機能です。列名の変更、テーブル名の短縮、サブクエリの整理など、さまざまな場面で活用できます。