はじめてのSQL【初級編:WHERE句について②】
こんにちは。
スタッフブログ担当の岩でございます。
前回の記事ではWHERE句で使う比較演算子について説明しました。

今回はSELECT句やWHERE句でよく使用する「算術演算子」について説明いたします。
今回もShopテーブルを使って説明します。
shohin_id (商品ID) | shohin_mei (商品名) | shohin_bunrui (商品分類) | hanbai_tanka (販売単価) | shiire_tanka (仕入単価) | torokubi (登録日) |
0001 | ボールペン | 事務用品 | 100 | 50 | 2020-10-20 |
0002 | おろしがね | キッチン用品 | 500 | 350 | 2020-09-07 |
0003 | フォーク | キッチン用品 | 100 | 30 | |
0004 | 圧力鍋 | キッチン用品 | 5000 | 1000 | 2020-04-25 |
0005 | 包丁 | キッチン用品 | 8000 | | 2020-07-05 |
0006 | カッターシャツ | 衣類 | 3000 | 1500 | 2020-06-11 |
0007 | 穴あけパンチ | 事務用品 | 400 | 240 | 2020-11-27 |
0008 | Tシャツ | 衣類 | 1500 | | 2020-03-13 |
算術演算子

算術演算子には以下の種類があります。
算術演算子 | 意味 |
+ | 足し算 |
– | 引き算 |
* | 掛け算 |
/ | 割り算 |
足し算、引き算は普段から使う記号と同じですが、掛け算、割り算は「×」や「÷」ではないので注意してください。
また、SQLでは()(カッコ)も使うことができます。
()(カッコ)の中にある計算式は優先順位が上がり、先に計算が行われます。
例えば、「2+3*4」という式があるとします。
答えは「14」となります。
しかし、「(2+3)*4」という式の答えは「20」となります。
これは先に「2+3」を行った後に「5*4」をしているからです。
()(カッコ)を使うと答えが変わる式がありますので、注意してください。
算術演算子を使ったSELECT文
それではSELECT句に算術演算子を使ったSELECT文をみていきましょう。
例1.販売単価と販売単価に100を足した値
SELECT shohin_id AS "商品ID"
,hanbai_tanka AS "販売単価"
,hanbai_tanka + 100 AS "販売単価+100"
FROM Shop;
商品ID | 販売単価 | 販売単価+100 |
0001 | 100 | 200 |
0002 | 500 | 600 |
0003 | 100 | 200 |
0004 | 5000 | 5100 |
0005 | 8000 | 8100 |
0006 | 3000 | 3100 |
0007 | 400 | 500 |
0008 | 1500 | 1600 |
例2.仕入単価と仕入単価から500を引いた値
SELECT shohin_id AS "商品ID"
,shiire_tanka AS "仕入単価"
,shiire_tanka - 500 AS "仕入単価-500"
FROM Shop;
商品ID | 仕入単価 | 仕入単価-500 |
0001 | 50 | -450 |
0002 | 350 | -150 |
0003 | 30 | -470 |
0004 | 1000 | 500 |
0005 | ||
0006 | 1500 | 1000 |
0007 | 240 | -260 |
0008 |
例3.販売単価と販売単価を2倍にした値
SELECT shohin_id AS "商品ID"
,hanbai_tanka AS "販売単価"
,hanbai_tanka * 2 AS "販売単価×2"
FROM Shop;
商品ID | 販売単価 | 販売単価×2 |
0001 | 100 | 200 |
0002 | 500 | 1000 |
0003 | 100 | 200 |
0004 | 5000 | 10000 |
0005 | 8000 | 16000 |
0006 | 3000 | 6000 |
0007 | 400 | 8000 |
0008 | 1500 | 3000 |
例4.仕入単価と仕入単価を2で割った値
SELECT shohin_id AS "商品ID"
,shiire_tanka AS "仕入単価"
,shiire_tanka / 2 AS "仕入単価÷2"
FROM Shop;
商品ID | 仕入単価 | 仕入単価÷2 |
0001 | 50 | 25 |
0002 | 350 | 175 |
0003 | 30 | 15 |
0004 | 1000 | 500 |
0005 | ||
0006 | 150 | 75 |
0007 | 240 | 120 |
0008 |
NULLを含む演算

仕入単価にNULLが含まれていますが、NULLを含む演算の結果は全てNULLになっています。
NULLを含んだ計算はの結果は全てNULLになります。
通常、「5 / 0」など0で割る計算はエラーとなりますが、「5 / NULL」はエラーとならず結果は「NULL」となります。
NULLを含む演算には注意してください。
まとめ
算術演算子は前回の記事で説明した比較演算子と組み合わせて、WHERE句で使うこともあります。
どちらもよく使う演算子なので、覚えておいてください。
最後まで読んでくださりありがとうございました。
どうぞよろしくお願いいたします。