本文へスキップ
BecomeCoder

SQL データ操作 (DML)コース · 第6章 式と関数で加工する · レッスン23

計算列と別名(AS)― 取り出しながら計算する

ブラウザで完結

導入

「商品の税込価格が見たい」と思ったとき、わざわざ電卓を叩く必要はありません。SELECT の列を書く場所には、列名だけでなく計算式を書けます。そして計算結果の列に、AS で分かりやすい名前(別名)を付けられます。

説明

列を並べるところに price * 1.1 のような式を書くと、その計算結果が1つの列として出てきます。四則演算 + - * / がそのまま使えます。

SELECT name, price, price * 1.1 AS price_with_tax FROM products;

AS price_with_tax別名(エイリアス) です。付けないと列名が「price * 1.1」という式そのままになって読みにくいので、計算列には名前を付けるのが基本です(AS は省略して price * 1.1 price_with_tax とも書けますが、AS を付けたほうが明確です)。

flowchart LR
    P["price(元の列)<br/>3200"] -->|"× 1.1 して別名を付ける"| T["price_with_tax<br/>3520.0"]

小数がじゃまなら、round(式, 桁数) で丸められます。round(price * 1.1) なら整数に、round(price * 1.1, 0) も同様です。

SELECT name, round(price * 1.1) AS price_with_tax FROM products;

別名は列だけでなくテーブルにも付けられます(FROM products AS p のように)。長いテーブル名を短くしたり、JOIN で表を区別したりするときに使いますが、まずは「計算列に名前を付ける」用途から慣れましょう。

やってみよう

初期表示のクエリを実行し、price_with_tax 列に税込価格(元の1.1倍)が出ることを確認しましょう。次に round(price * 1.1) に書き換えて、小数が消えて整数になることを見てください。

演習

products から、商品名 name と、**在庫価値(price × stock)**を stock_value という別名で取り出してください。

ヒント1を見る

掛け算は price * stock、別名は AS stock_value です。

ヒント2を見る

SELECT name, price * stock AS stock_value FROM products;

実際に動かしてみよう

下のエディタにクエリを書いて「実行」を押すと、ブラウザ内のSQLiteで結果が表示されます。本文の例をそのまま試したり、書き換えたりしてみましょう。

SQL — ブラウザ内で実行(SQLite)

ブラウザ内でSQLを動かす環境(SQLite)を読み込みます(初回のみ一瞬)。
スクロールして表示された時点でも自動で読み込まれます。