SELECT 文で列名に別名を付けて取得する方法

SELECT 文を使って、特定の列のデータを取得する際に、結果の見出しの行の名前を別の名前に変更する方法を学びます。

どういうことかと言うと、例えば SELECT name FROM users; と SELECT 文を書いたとします。

このとき、実行結果の列の見出しには、"name" と出てくるはずです。

これを例えば、"名前" のように列の見出しを変更することが別名を付ける、ということです。

書き方

SELECT <列名1> AS "<別名1>", <列名2> AS "<別名2>", <列名3> AS "<別名3>"・・・<列名n> AS "<別名n>" FROM <テーブル名>;

書き方の説明

SELECT: データを取得する SELECT 文を表します。

<列名1> AS "<別名1>", <列名2> AS "<別名2>", <列名3> AS "<別名3>"・・・<列名n> AS "<別名n>": 自分が欲しい列名をカンマ区切りで示しますが、 AS "<別名>" とすることで、列名に別名を付与することができます。

AS の後の別名が日本語の場合、ダブルクォートで括るので気をつけてください。なお、AS の後の別名が英数字である場合、ダブルクオートで括る必要はありませんが、付けても問題はありません。

FROM <テーブル名>;: どのテーブルからデータを取得したいのかを表します。文末には;(セミコロン)を書きます。

どの行のレコードが欲しいのかは指定していないので、ここでも自動的に全行が取得されることに変わりはないです。

ユーザー情報が入っている users テーブルから name 列のみを取得したいが、それを"名前"と表示したい場合

SELECT name AS "名前" FROM users;

ユーザー情報が入っている users テーブルから name 列と age 列の 2 列のみを、それぞれ"名前"列と、"年齢"列として取得したいとき

SELECT name AS "名前", age AS "年齢" FROM users;

練習

試しに、SELECT 文で products テーブルから特定の列のみを別名を付けて参照してみましょう!

今、このページを開いている時点で既にあなたのための products テーブルが作られ、データも入っています。

もう SQL 文は入力してあるので実行ボタンを押してみてください。 products テーブルから指定した列に別名がついて表示されます。

問題

sales というテーブルがあります。この sales というテーブルから、 user_id 列と total_price 列を、それぞれユーザー ID、合計金額という別名を付けて取得する SQL 文を書いてみましょう。

答え合わせ

正解を見る
正解:SELECT user_id AS "ユーザーID", total_price AS "合計金額" FROM sales;
解説:user_id 列 と total_price 列 を取得するので、それらをカンマ区切りで繋げますが、それぞれ AS の後に"ユーザーID" と "合計金額" のように別名を付けています。