0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PostgreSQL:ASで列に別名を付ける|取得結果と元の列名の違い

0
Posted at

今回はPostgreSQLのASを使い、取得結果の列に別名を付ける方法を学習しました。取得したデータの意味を整理します。

所要時間は15分ほどです。
それでは、さっそく始めていきましょう!

今日のテーマと到達目標

自分で列の別名を指定し、取得結果の列見出しと元のTableの列名を区別できることが目標です。

用語の定義

用語 意味
Alias(別名) SQLの中で列やTableに付ける別の名前
AS 別名を付けるときに使うキーワード
列の別名 今回のSELECTでは、取得結果の列見出しとして使う名前
結果セット SELECTの実行で返される行と列の集まり

今回は列の別名を扱います。使用するTableはproductsです。1行は商品1種類を表します。

列名 意味
product_id 商品を識別する番号
product_name 商品名
price_yen 円単位の価格

登録済みの商品はonigiri、bento、ame、panの4件です。

ASの書き方

列に別名を付ける場合は、元の列名 AS 別名と書きます。

SELECT
    product_name AS name,
    price_yen AS price
FROM products
ORDER BY product_id;
指定 元の列名 結果の列見出し
product_name AS name product_name name
price_yen AS price price_yen price

ORDER BY product_idは、商品IDの昇順に結果の行を並べる指定です。

実行結果を確認する

上記のSQLを実行し、次の結果を確認しました。

 name    | price
---------+-------
 onigiri |   100
 bento   |   500
 ame     |    50
 pan     |   100
(4 行)

列見出しがnameとpriceになっています。商品名や価格の値はそのまま取得されています。

自分で別名を付ける演習

次の条件でSQLを書きました。

  • 商品名の列にitem_nameという別名を付ける。
  • 価格の列にamount_yenという別名を付ける。
  • 商品IDの昇順に行を並べる。
SELECT
    product_name AS item_name,
    price_yen AS amount_yen
FROM products
ORDER BY product_id;

実際の実行結果は次のとおりです。

 item_name | amount_yen
-----------+------------
 onigiri   |        100
 bento     |        500
 ame       |         50
 pan       |        100
(4 行)

指定したとおり、列見出しがitem_nameとamount_yenになりました。

元のTableの列名も変更されるのか

「元のTableの列名もitem_nameやamount_yenに変更されたか」という確認問題には、「変更されていない」と回答しました。

ASは今回の取得結果で使う別名を指定します。元のTableの定義を書き換える操作ではありません。

対象 商品名の列の名前 価格の列の名前
元のproducts product_name price_yen
演習の取得結果 item_name amount_yen

このSELECTの実行後も、元の列を指定するときはproduct_nameとprice_yenを使います。

合格条件と学習記録

確認項目 確認できた内容
ASを使った結果を確認できる name、priceの見出しで4行を取得
自分で列の別名を指定できる item_name、amount_yenを指定するSQLを実行
元の列名と別名を区別できる 元のTableの列名は変更されていないと回答

2つのSQLの実行画面と、確認問題の回答で理解を確認しました。共有されたSQLはエラーなく実行できました。

まとめ

書き方 役割
product_name AS item_name 商品名の結果見出しをitem_nameにする
price_yen AS amount_yen 価格の結果見出しをamount_yenにする

ASで取得結果の列に分かりやすい名前を付けられます。取得結果の別名と、元のTableに定義された列名を分けて考えることが大切です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?