LESSON 30分

AS句でカラム名を変えよう

ストーリー

「英語のカラム名だとわかりにくいこともあるよね」

「name とか salary って書いてあっても、レポートとして見せるときは日本語がいいですよね」

「そう。AS句を使えば、出力するときのカラム名を好きな名前に変えられるんだ」

「名前を変えるって、テーブルの定義が変わるんですか?」

「いや、表示上の名前を変えるだけ。テーブル自体には影響しないよ」


AS句とは

AS句(エイリアス)は、出力結果のカラム名を一時的に別の名前に変えるSQL句です。

テーブルの実際のカラム名はそのまま。表示されるときだけ別名になります。


基本構文

sql
SELECT カラム名 AS 別名 FROM テーブル名;
要素意味
カラム名テーブルの元のカラム名
AS「〜として」の意味
別名表示したい名前

実際にやってみよう

名前と給料を日本語表示

sql
SELECT name AS 名前, salary AS 給料 FROM employees;

出力:

名前      給料
--------  ------
田中太郎  350000
佐藤花子  320000
鈴木一郎  400000
高橋美咲  300000
伊藤健太  280000

name名前salary給料 として表示されています。

すべてのカラムにエイリアスを付ける

sql
SELECT
    id AS 社員番号,
    name AS 氏名,
    department AS 部署,
    salary AS 月給
FROM employees;

出力:

社員番号  氏名      部署    月給
--------  --------  ------  ------
1         田中太郎  開発部  350000
2         佐藤花子  営業部  320000
3         鈴木一郎  開発部  400000
4         高橋美咲  人事部  300000
5         伊藤健太  営業部  280000

ポイント: SQL文が長くなるときは、上のように改行して書くと読みやすくなります。


スペースを含む別名

別名にスペースを含めたい場合は、ダブルクォーテーションで囲みます。

sql
SELECT name AS "社員 名前", salary AS "月給(円)" FROM employees;

出力:

社員 名前  月給(円)
---------  --------
田中太郎   350000
佐藤花子   320000
鈴木一郎   400000
高橋美咲   300000
伊藤健太   280000

スペースや記号(括弧など)を含む場合は " で囲むことを忘れずに。


productsテーブルでも練習

商品名と価格を日本語カラム名で

sql
SELECT name AS 商品名, price AS 価格 FROM products;

出力:

商品名          価格
--------------  -----
ノートPC        89000
マウス          2500
デスク          35000
チェア          45000
モニター        32000
キーボード      8000
ヘッドセット    12000
ブックシェルフ  18000

カテゴリ・商品名・在庫数を日本語で

sql
SELECT
    category AS カテゴリ,
    name AS 商品名,
    stock AS "在庫数(個)"
FROM products;

出力:

カテゴリ  商品名          在庫数(個)
--------  --------------  ----------
電子機器  ノートPC        15
電子機器  マウス          100
家具      デスク          8
家具      チェア          12
電子機器  モニター        20
電子機器  キーボード      50
電子機器  ヘッドセット    30
家具      ブックシェルフ  5

AS句はなぜ便利なのか

1. レポート・帳票の作成

お客様や上司に見せるときに、英語のカラム名では伝わりにくいことがあります。

sql
-- 英語のまま(エンジニア向け)
SELECT name, salary FROM employees;

-- 日本語にする(レポート向け)
SELECT name AS 氏名, salary AS 月給 FROM employees;

2. わかりやすい名前を付ける

カラム名が略語や分かりにくい名前のとき、エイリアスで補足できます。

sql
-- dept_cd だけだと何かわからない
SELECT dept_cd AS 部署コード FROM some_table;

3. 計算結果に名前を付ける(プレビュー)

後のステップで学びますが、計算結果にもエイリアスを付けられます。

sql
SELECT name, salary * 12 AS 年収 FROM employees;

テーブルにもエイリアスを付けられる

テーブル名にもASで別名を付けることができます。

sql
SELECT e.name, e.department FROM employees AS e;

出力:

name      department
--------  ----------
田中太郎  開発部
佐藤花子  営業部
鈴木一郎  開発部
高橋美咲  人事部
伊藤健太  営業部

employees AS e とすることで、e.name のように短く書けます。

テーブルのエイリアスは、複数テーブルを扱うときに特に便利です。 今は「こういうこともできるんだ」と覚えておけば大丈夫です。


ASは省略できる

実は AS キーワードは省略することもできます。

sql
-- ASあり
SELECT name AS 名前 FROM employees;

-- AS省略(スペースだけ)
SELECT name 名前 FROM employees;

どちらも同じ結果になります。ただし、ASを書いた方が読みやすいので、省略しないことをおすすめします。


よくある間違い

カンマの位置を間違える

sql
-- 間違い: ASの前にカンマが入っている
SELECT name, AS 名前 FROM employees;

-- 正しい
SELECT name AS 名前 FROM employees;

エイリアスにスペースを含むのにクォーテーションがない

sql
-- エラーになる
SELECT name AS 社員 名前 FROM employees;

-- 正しい
SELECT name AS "社員 名前" FROM employees;

ハンズオン

以下のSQLを順番に実行してください。

sql
-- 1. 名前と給料を日本語カラム名で表示
SELECT name AS 名前, salary AS 給料 FROM employees;

-- 2. すべてのカラムに日本語エイリアスを付ける
SELECT
    id AS 社員番号,
    name AS 氏名,
    department AS 部署,
    salary AS 月給
FROM employees;

-- 3. スペースを含むエイリアス
SELECT name AS "社員名", salary AS "月給(円)" FROM employees;

-- 4. productsテーブルで商品名と価格を日本語表示
SELECT name AS 商品名, price AS "価格(円)" FROM products;

-- 5. テーブルにエイリアスを付ける
SELECT e.name, e.salary FROM employees AS e;

まとめ

ポイント内容
AS句カラムの表示名を一時的に変える
基本構文SELECT カラム名 AS 別名
スペースを含む場合AS "別名" とダブルクォーテーションで囲む
テーブルにもASFROM テーブル名 AS 別名
テーブルへの影響なし(表示だけ変わる)

チェックリスト

  • AS でカラムに別名を付けられた
  • スペースを含むエイリアスを作れた
  • テーブルにエイリアスを付けられた

次のステップへ

AS句でカラム名をわかりやすく表示できるようになりましたね。

次のセクションでは、DISTINCT を使ってデータの重複を除く方法を学びます。 「部署の一覧が欲しいのに、同じ部署が何回も出てくる...」という問題を解決できますよ!


推定読了時間: 30分