SQLのお勉強 8.算術演算子・比較演算子
2020-09-16
こんにちは、0371です。
今回は、SQLのお勉強をしたいと思います。
基本情報技術者試験で出題される範囲を中心に進めます。
お勉強
※ PostgreSQLはインストール済みかつ、パスも通しているという前提で進めていきます。
分からないという方は、以下の記事から始めてください。
dockerを使って、再構築が容易なSQLの練習場を作成する
"https://0371.blog/docker-sql"
前回の記事はこちら
SQLのお勉強 7.where "https://0371.blog/sql-7"
算術演算子
算術演算子を使用することで、テーブルのデータに対して、四則演算を行うことができます。
使用できる演算子は以下の通りです。
+ // 足し算
- // 引き算
* // 掛け算
/ // 割り算
例は以下の通りです。
select shohin_mei as "商品名", hanbai_tanka as "税抜き価格", hanbai_tanka * 1.1 as "税込価格" from Shohin;
実行結果はこのようになります。
商品名 | 税抜き価格 | 税込価格
----------------+------------+----------
Tシャツ | 1000 | 1100.0
穴あけパンチ | 500 | 550.0
カッターシャツ | 4000 | 4400.0
包丁 | 3000 | 3300.0
圧力鍋 | 6800 | 7480.0
フォーク | 500 | 550.0
おろし金 | 880 | 968.0
ボールペン | 100 | 110.0
(8 rows)
また、数式のように()で括った式が、優先的に計算されます。
select shohin_mei as "商品名", hanbai_tanka + 1000 * 2 as "()なし", (hanbai_tanka + 1000) * 2 as "()あり" from Shohin;
商品名 | ()なし | ()あり
----------------+--------+--------
Tシャツ | 3000 | 4000
穴あけパンチ | 2500 | 3000
カッターシャツ | 6000 | 10000
包丁 | 5000 | 8000
圧力鍋 | 8800 | 15600
フォーク | 2500 | 3000
おろし金 | 2880 | 3760
ボールペン | 2100 | 2200
(8 rows)
基本的には、null
を含む演算の結果は全てnull
になります。
ただし、null
を0とみなして計算する方法もあるようです。
select shohin_mei as "商品名", hanbai_tanka * null as "nullになる" from Shohin;
null
なので、データが空白になってます。
商品名 | nullになる
----------------+------------
Tシャツ |
穴あけパンチ |
カッターシャツ |
包丁 |
圧力鍋 |
フォーク |
おろし金 |
ボールペン |
(8 rows)
比較演算子
比較演算子とwhere
を使用することで、テーブルのデータに対して、比較演算を行うことができます。
使用できる演算子は以下の通りです。
= // ~と等しい
<> // ~と等しくない
>= // ~以上
> // ~より大きい
<= // ~以下
< // ~より小さい
実行例は以下の通りです。
select shohin_mei as "商品名", hanbai_tanka as "販売単価" from Shohin where hanbai_tanka <> 500;
販売単価が500ではない行を取得しています。
商品名 | 販売単価
----------------+----------
Tシャツ | 1000
カッターシャツ | 4000
包丁 | 3000
圧力鍋 | 6800
おろし金 | 880
ボールペン | 100
(6 rows)
登録日が2009年9月27日よりも前の商品を探します。
select shohin_mei as "商品名", shohin_bunrui as 商品分類, torokubi as "登録日" from Shohin where torokubi < '2009-09-27';
商品名 | 商品分類 | 登録日
--------------+--------------+------------
Tシャツ | 衣服 | 2009-09-20
穴あけパンチ | 事務用品 | 2009-09-11
包丁 | キッチン用品 | 2009-09-20
圧力鍋 | キッチン用品 | 2009-01-15
フォーク | キッチン用品 | 2009-09-20
おろし金 | キッチン用品 | 2008-04-28
(6 rows)
null
かどうかを判定するには、is null
かis not null
を使用します。
is null // nullの場合
is not null // nullではない場合
仕入単価がnull
の商品名を取得します。
select shohin_mei as "商品名", shiire_tanka as "仕入単価" from Shohin where shiire_tanka is null;
null
なので、空白です。
商品名 | 仕入単価
------------+----------
フォーク |
ボールペン |
(2 rows)
今日はここまで。
参考書籍
SQL 第2版 ゼロからはじめるデータベース操作
"https://amzn.to/2QYMBJD"
今日の一言
算術演算子・比較演算子が分かったのでSQL
はマスターしたも同然!!!!
次回の記事はこちら
SQLのお勉強 9.論理演算子
"https://0371.blog/sql-9"