【SQL】select文でカラム(列)を演算してデータを取得する

MySQL

select文でデータを取得する際に演算してからその結果を表示させることができます。

select文での演算方法

select文を利用して演算を行っていきます。

前提条件

上記のproductsテーブルを例にして説明していきます。まず初めに現在のテーブルの状況をSQLで確認してみます

select * from products;

コードの見方

青文字・・・省略できない決まり文句
紫文字・・・コメント
白文字・・・利用者の任意で入力する文字列

出力結果

+----+-----------------+-------+
| id | name            | price |
+----+-----------------+-------+
|  1 | ドックフード001 |  1000 |
|  2 | ドックフード002 |  2000 |
|  3 | ドックフード003 |  1500 |
|  4 | ドックフード004 |  1800 |
|  5 | ドックフード005 |  2500 |
+----+-----------------+-------+
5 rows in set (0.000 sec)

テーブルのすべてのカラムが取得できました。nameとpriceに別名を付けて商品価格に税金を掛け算していきます。

演算子を利用して計算する

今回、select文で出力させるカラムは以下の3つとなります。演算した結果はpriceの値を消費税込みの価格として表示させていきます。

  • name ⇒ 名前
  • price ⇒ 価格
  • 演算した結果 ⇒ 税込み価格

今回は演算結果に別名を付けています。asの使い方がわからない場合は下記をチェック

構文

select 
name as 名前,
price as 価格,
price * 1.10 as 税込み価格
from products;

*(アスタリスク)は掛け算を意味しています。

注意!

演算するのは元のカラム名に対して行うこと。下記のように別名の方に演算してもエラーとなります。
×select price as 税込み価格 * 1.08 from products;

出力結果

+-----------------+------+------------+
| 名前            | 価格 | 税込み価格 |
+-----------------+------+------------+
| ドックフード001 | 1000 |    1100.00 |
| ドックフード002 | 2000 |    2200.00 |
| ドックフード003 | 1500 |    1650.00 |
| ドックフード004 | 1800 |    1980.00 |
| ドックフード005 | 2500 |    2750.00 |
+-----------------+------+------------+
5 rows in set (0.001 sec)

税込み価格を表示することができました。

タイトルとURLをコピーしました