カラムの値に対する演算結果を取得

広告

SELECT文ではデータの中ので取得するカラムを指定します。

SELECT col_name1, col_name2, ... FROM tbl_name;

カラム名を指定すればデータ毎にカラムに格納されている値を取得しますが、カラムを使った式を記述するとカラムに格納されている値に対して何らかの演算を行った結果を取得することができます。次の例を見てください。

[例1] salesカラムの値に1.05を乗算した結果を取得
  SELECT sales * 1.05 FROM uriage;

[例2] sansuuカラムの値とeigoカラムの値を加算した結果を取得
  SELECT sansuu, eigo, sansuu + eigo FROM seiseki;

[例3] valueカラムの値の絶対値を取得
  SELECT ABS(value) FROM valuelist;

[例4] 10 * 8 + 4の演算結果を取得
  SELECT 10 * 8 + 4;

演算子や関数などを使ってカラムに対して演算を行ったり、複数のカラムの値を使った演算を行った結果を取得できます。(MySQLで利用可能な演算子については「MySQLの基本構文」を参照して下さい)。

なお最後の例ではテーブルからデータなどは取得せず演算のみを行っていますが、ダミーテーブルとしてDUALを使用することができます。

SELECT 10 * 8 + 4 FROM DUAL;

なんらかの理由でFROM句を必ず指定しなければならない場合に使用して下さい。

サンプル

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

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

p2-1

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

p2-2

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

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

p2-3

3つの教科の合計点と平均点を計算した結果を取得し表示しています。

( Written by Tatsuo Ikura )