SQLのお勉強 18.in, not in
2020-09-26
こんにちは、0371です。
今回は、SQLのお勉強をしたいと思います。
基本情報技術者試験で出題される範囲を中心に進めます。
お勉強
※ PostgreSQLはインストール済みかつ、パスも通しているという前提で進めていきます。
分からないという方は、以下の記事から始めてください。
dockerを使って、再構築が容易なSQLの練習場を作成する
"https://0371.blog/docker-sql"
前回の記事はこちら
SQLのお勉強 17.between
"https://0371.blog/sql-17"
in
in
とは、複数の条件を一度に指定する時に使用します。
in
では、null
を指定することはできません。
select 列名 from テーブル名 where 列名 in (条件1, 条件2, 条件3 ...);
試しに、販売単価が500円、2800円、5000円のデータを取りに行きたいと思います。
select shohin_mei, shiire_tanka from Shohin where shiire_tanka in (500, 2800, 5000);
結果は以下の通りです。
shohin_mei | shiire_tanka
----------------+--------------
Tシャツ | 500
カッターシャツ | 2800
包丁 | 2800
圧力鍋 | 5000
(4 rows)
次に、商品分類が「衣服」か「事務用品」のデータを取得したいと思います。
文字列を指定するときは、シングルクォーテーションで囲みます。
select shohin_mei, shohin_bunrui from Shohin where shohin_bunrui in ('衣服', '事務用品');
結果はこのようになります。
shohin_mei | shohin_bunrui
----------------+---------------
Tシャツ | 衣服
穴あけパンチ | 事務用品
カッターシャツ | 衣服
ボールペン | 事務用品
(4 rows)
not in
not in
とは、複数の除外したい条件を一度に指定する時に使用します。
in
と同じように、not in
ではnull
を指定することはできません。
select 列名 from テーブル名 where 列名 not in (条件1, 条件2, 条件3 ...);
試しに、販売単価が500円、2800円、5000円以外のデータを取りに行きたいと思います。
select shohin_mei, shiire_tanka from Shohin where shiire_tanka not in (500, 2800, 5000);
結果は以下の通りです。
shohin_mei | shiire_tanka
--------------+--------------
穴あけパンチ | 320
おろし金 | 790
(2 rows)
in
,not in
の引数にサブクエリを指定することもできますので、覚えておきましょう。
今日はここまで。
参考書籍
SQL 第2版 ゼロからはじめるデータベース操作
"https://amzn.to/2QYMBJD"
今日の一言
in
, not in
が分かったのでSQL
はマスターしたも同然!!!!