前のレッスンで、ANDやORを使って、複数条件で抽出する方法を紹介しました。
例えば、「10000円以上かつ20000円以下」という条件を、ANDと不等号を使えば抽出することができます。
今回のレッスンでは、BETWEENを使うことでも抽出可能です。
ここまでのレッスンを学んだ方であればすぐに習得できると思います。
▼目次
00:00 はじめに
00:54 betweenについて、基本的なbetween構文
01:39 数字の区間指定で抽出
02:06 日付の区間指定で抽出
02:33 NOT演算子と併用
03:23 おわりに
▼関連動画
【SQL超入門講座】01.コース紹介 ~ SQLとは? ~ 環境構築|初心者向け
【SQL超入門講座】02.データベースのテーブルとは?
【SQL超入門講座】03.SELECT文|SQLの基本中の基本
【SQL超入門講座】04.WHERE|特定の条件でデータを抽出する方法
【SQL超入門講座】05.ORDER BY|データの並び替え
【SQL超入門講座】06.GROUP BY|グルーピング、グループ化
【SQL超入門講座】07.HAVING|グループ化したデータの中からデータ抽出
【SQL超入門講座】08.JOIN|テーブルの結合(INNER JOIN/LEFT JOIN)
【SQL超入門講座】09.PostgreSQLの環境構築|MacとWindowsで解説!
【SQL超入門講座】10.PythonとPostgreSQLの接続
【SQL超入門講座】11.データベースのバックアップと復元
【SQL超入門講座】12.テーブルの結合(RIGHT JOIN/OUTER JOIN)
【SQL超入門講座】13.AND, OR|複数条件で抽出する方法
【SQL超入門講座】14.LIKE|部分一致や前方一致、後方一致するレコードを抽出する方法
▼書き起こしブログ
準備中
▼自己紹介
ブログに自己紹介を書いております。
https://kino-code.com/profile/
▼SNS
Twitter : https://twitter.com/kino_code/likes
Facebook : https://www.facebook.com/キノコード -105693727500005/
Website : https://kino-code.com/
▼書き起こし
BETWEENは、冒頭でも話したように範囲指定をするときに使います。
BETWEENは、具体的には、WHERE句で使います。
範囲指定できるものとして、数値、日付や時間、文字列などを使用できます。
SQLを構文をみてみましょう。
“`SQL
SELECT *
FROM テーブル名
WHERE カラム名 BETWEEN 下限値 AND 上限値
“`
この書き方だと「WHERE句のカラム名が下限値から上限値の間の値のデータを取ってくる」というSQL文です。
なお、以前のレッスンで解説をした、不等号を使っての書き方で表すと、こうなります。
“`SQL
SELECT *
FROM テーブル名
WHERE カラム名 >= 下限値 AND [カラム名] <= 上限値
“`
BETWEENを使えば、カラム名を2回書かなくて済むのでSQL文がスッキリしますね。つまり、可読性があがります。
また、BETWEENの前にNOTをつけることで、指定範囲外の値を条件にして抽出することができます。
では、実際にテーブルを使って書いてみましょう。
## BETWEENの使い方
まずはテーブルのtest_tableから、「売上金額」が「10000円以上、20000円以下」のデータを抽出してみましょう。
SQLはこのように書きます。
“`SQL
SELECT *
FROM test_table
WHERE 売上金額 BETWEEN 10000 AND 20000
“`
これで、「売上金額」が「10000円以上20000円以下」のデータ35件抽出されました!
「売上金額」のカラムは数字型です。
したがって、今見たように、数字型の範囲指定はできますね。
では次に「売上日」が「2020年3月」のデータです。
“`SQL
SELECT *
FROM test_table
WHERE 売上日 BETWEEN ‘2020-03-01’ AND ‘2020-03-31’
“`
これで、「売上日」が「2020年3月」のデータが19件抽出されました。
「売上日」のカラムは文字列型です。
つまり、BETWEENは文字列の範囲指定もできるということです。
今回は日付型のカラムがないので割愛しますが、日付型でもデータ抽出することができます。
#SQL #データベース #postgreql #BETWEEN #区間抽出
コメント