カラムに別名を付ける

広告

SELECT文を使ってデータを取得する時、カラム名に対して別名を付けることができます。次の書式を使います。

SELECT col_name AS alias_name, ... FROM tbl_name;

カラム名を別のカラム名としてデータを取得するだけでなく、演算を使った式に対してカラム名を割り当てることができます。次のように使用します。

[例1] salesカラムをtokyosalesカラムとして取得
  SELECT sales AS tokyosales FROM uriage WHERE branch = 'Tokyo';

[例2] sansuuカラムの値とeigoカラムの値の平均をheikinカラムとして取得
  SELECT (sansuu + eigo) / 2 AS heikin FROM seiseki;

別名を設定すると、GROUP BY句やORDER BY句の中で別名として割り当てたカラム名を使用できます。(具体的な利用方法は別のページで確認します)。

サンプル

実際に試してみます。まず次のようなテーブルを作成します。

mysql> create table seiseki(name varchar(20), 
    -> suugaku int, eigo int, kokugo int);

p3-1

テーブルには次のようなデータを追加してあります。

p3-2

ではこのテーブルに格納された値を使って、カラムの合計と平均を取得してみます。次のように入力して下さい。

mysql> select name, suugaku + eigo + kokugo, 
    -> round((suugaku + eigo + kokugo) / 3) from seiseki;

p3-3

3つの教科の合計点と平均点を計算した結果を取得し表示しています。ただ取得した結果の列名には使用した式がそのまま表示されてしまいます。式が何の目的で計算されたものなのか分かり難いですし、列名も長くなってしまっています。

そこで式に対して別名を設定します。次のように入力して下さい。

mysql> select name, 
    -> suugaku + eigo + kokugo as goukei, 
    -> round((suugaku + eigo + kokugo) / 3) as heikin
    -> from seiseki;

p3-4

合計と平均を計算した結果に対して別名としてカラム名を割り当てることで、割り当てたカラム名を列名として表示させることができます。この結果、表示されるデータがどのような意味を持つものなのかを明確にできますし、別名として割り当てたカラム名を使ってデータを並べ替えるといったことも可能になります。

( Written by Tatsuo Ikura )