カラムに別名を付けてデータを取得する(AS句)

SELECT コマンドを使ってテーブルからデータを取得するとき、 AS 句を使用するとカラムに別名を付けてデータを取得することができます。ここでは PostgreSQL でカラム名に別の名前をつけてデータを取得する方法について解説します。

(Last modified: )

カラム名に別の名前を付ける

SELECT コマンドを使ってデータを取得する時に、カラムに別の名前をつけてデータを取得することができます。書式は次のとおりです。

SELECT expression AS output_name [, ...]
    FROM table_name

別のカラム名( output_name )をつけてデータを取得します。カラムに対する別名を設定するほか、カラムに対する演算結果などを取得する場合にも任意の名前をつけて取得することができます。

例えば次のように使います。

[例] sales カラムに別名 tokyosales をつけて取得
SELECT sales AS tokyosales FROM uriage;

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

AS は省略可能ですが、人が見た時に別名を付けているのか、それとも別名として指定した名前のカラムのデータを取得しようとしているのか分かりずらいので AS は付けるようにされることをお勧めします。なお別名は任意の名前を設定できますが、 PostgreSQL で使用しているキーワードを別名として指定する場合は AS をつけるかダブルクォーテーションで囲ってください。

-- --

それでは実際に試してみます。次のようなテーブルを作成しました。

create table myschema.result(
  name varchar(15),
  price integer,
  design integer,
  quality integer
);

カラム名に別の名前を付ける(1)

作成したテーブルに次のようなデータを格納しておきます。

insert into myschema.result values
  ('NotePC', 65, 80, 78),
  ('Desktop', 50, 72, 92),
  ('Mobile', 82, 81, 58),
  ('Tablet', 65, 80, 78);

カラム名に別の名前を付ける(2)

それでは price カラム、 design カラム、 quality カラムの合計を取得してみます。次のように実行してください。

select name, price + design + quality
  from myschema.result;

カラム名に別の名前を付ける(3)

3 つのカラムの合計を取得して表示していますが、合計を表示しているカラム名が ?column? と表示されています。分かりやすくなるように合計を取得しているカラムに別名を設定します。

select name, price + design + quality as total
  from myschema.result;

カラム名に別の名前を付ける(4)

合計を表示しているカラム名が設定した別名で表示されました。

先ほどは演算を行った結果に対して別名を設定しましたが、通常のカラムに対しても別名を設定できます。例えば次のようにカラムに別名を設定してみました。

select name as 製品名, 
  price as 価格, 
  design as デザイン, 
  quality as 品質, 
  price + design + quality as 合計得点
  from myschema.result;

カラム名に別の名前を付ける(5)

通常のカラムに対しても別名を設定して表示することができました。

-- --

AS 句を使いカラム名に別の名前をつけてデータを取得する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。