AS句とは何か
AS句 は、SQLの中で 列名・テーブル名・サブクエリ・WITH句に別名(エイリアス)を付けるための記法。
「結果の名前を一時的に分かりやすく付ける」ことが目的で、可読性・保守性を高めるための道具と言える。
例↓
SELECT user_name AS name
FROM users AS u;
この例では、
user_name → name(列の別名)
users → u(テーブルの別名)
を付けている。
AS句が便利な理由
①:列名・意味を分かりやすくする
SQLの結果を「人が読む」ことを考えたとき、
元のカラム名がそのままでは意味が分かりづらい場合がある。
変更前
SELECT SUM(amount)
FROM orders;
変更後
SELECT SUM(amount) AS total_amount
FROM orders;
メリット
出力結果が何を表すのか一目で分かる
アプリ側・帳票・レビューなどで誤解が起きにくい
AS句が便利な理由
②:JOIN時の記述を短く・安全にする
複数テーブルを結合すると、テーブル名が長くなりやすくなる。
変更前(冗長)
SELECT users.name, orders.order_date
FROM users
JOIN orders ON users.id = orders.user_id;
変更後(AS句使用)
SELECT u.name, o.order_date
FROM users AS u
JOIN orders AS o ON u.id = o.user_id;
メリット
SQLが短くなり、読みやすい
どのテーブルのカラムかを常に意識でき、誤参照を防げる
AS句が便利な理由
③:結合結果・途中結果に「意味のある名前」を付けられる
JOINの結果に名前を付けることで、SQLを段階的な処理として読めるようになる。
WITH step1 AS (
SELECT u.id, u.name
FROM users u
),
step2 AS (
SELECT s1.*, o.id AS order_id
FROM step1 s1
JOIN orders o ON s1.id = o.user_id
)
SELECT *
FROM step2;
メリット
「この段階では何を作っているか」が明確
JOINが増えても1ステップずつ追える
デバッグしやすい(SELECT * FROM step1 が可能)
AS句が便利な理由
④:SQLを“設計書のように読める”
AS句で名前を付けることは、「このデータは何者か」を明示する行為。
WITH active_users AS (
SELECT *
FROM users
WHERE is_active = true
)
SELECT *
FROM active_users;
SQLを読んだだけで
「これは有効ユーザーの集合だ」
と理解できる点が大きな利点です。
まとめ
AS句は別名(エイリアス)を付けるための記法
可読性・保守性・安全性を高める
列・テーブル・サブクエリ・CTEすべてに使える
JOINが多いSQLほど効果が大きい