指定した範囲に値が含まれているか判定するには「BETWEEN」や「NOT BETWEEN」を使います。
ここでは MySQLコマンド「BETWEEN」や「NOT BETWEEN」の具体的な使い方を解説していきます。
「BETWEEN」や「NOT BETWEEN」の基本
「BETWEEN」や「NOT BETWEEN」は、「WHERE」などと組み合わせて条件式で使います。
「BETWEEN」のコマンド例
これで指定した範囲に値が含まれているデータを検索できます。
SELECT * FROM テーブル名 WHERE カラム名 BETWEEN 最小の値 AND 最大の値;
「NOT BETWEEN」のコマンド例
これで指定した範囲に値が含まれていないデータを検索できます。
SELECT * FROM テーブル名 WHERE カラム名 NOT BETWEEN 最小の値 AND 最大の値;
SELECT 文の詳しい使い方はこちら。
指定した範囲に値が含まれているデータを検索する
実際にMySQLサーバーに接続し、動作を確認してみましょう。
あらかじめ「test」データベースの「users」テーブルに、以下のようにデータが保存されている例で進めていきます。
name | age |
佐藤 | 21 |
鈴木 | 25 |
山田 | 32 |
データを保存するコマンド例
CREATE DATABASE test;
USE test;
CREATE TABLE users (name VARCHAR(100), age INT);
INSERT INTO users (name, age) VALUES ('佐藤', 21);
INSERT INTO users (name, age) VALUES ('鈴木', 25);
INSERT INTO users (name, age) VALUES ('山田', 32);
CREATE DATABASE 文の詳しい使い方はこちら。
USE 文の詳しい使い方はこちら。
CREATE TABLE 文の詳しい使い方はこちら。
INSERT INTO 文の詳しい使い方はこちら。
それでは「age」カラムの値が20〜25の範囲に含まれるデータを検索してみましょう。コマンドは以下。
SELECT * FROM users WHERE age BETWEEN 20 AND 25;
コマンドを実行すると、以下のように結果が表示されました。
ちなみに、
SELECT * FROM users WHERE age >= 20 AND age <= 25;
でも同様の結果が得られます。
指定した範囲に値が含まれていないデータを検索する
今度は「age」カラムの値が20〜25の範囲に含まれていないデータを検索してみましょう。コマンドは以下。
SELECT * FROM users WHERE age NOT BETWEEN 20 AND 25;
コマンドを実行すると、以下のように結果が表示されました。
まとめ
以上、MySQLコマンド「BETWEEN」や「NOT BETWEEN」の使い方でした!
ここまでの内容をまとめておきます。
- 「BETWEEN」で指定した範囲に値が含まれているか判定することができる。
- 「NOT BETWEEN」で指定した範囲に値が含まれていないか判定することができる。