MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLビューでBETWEEN演算子を使ってベーステーブルから値の範囲を選択する方法

MySQLのBETWEEN演算子は、指定した範囲内の値を選択するために使用される演算子です。このBETWEEN演算子はビュー(VIEW)と組み合わせることもでき、ベーステーブルから特定の範囲に該当するデータだけを抽出したビューを作成することが可能です。

ここでは、次のようなデータを持つベーステーブル「student_info」を例に、具体的な使い方を解説します。

mysql> Select * from Student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Chandigarh | Literature |
| 125  | Raman   | Shimla     | Computers  |
| 130  | Ram     | Jhansi     | Computers  |
| 132  | Shyam   | Chandigarh | Economics  |
| 133  | Mohan   | Delhi      | Computers  |
+------+---------+------------+------------+
6 rows in set (0.00 sec)

BETWEEN演算子を使ったビューの作成例

以下のクエリでは、「BETWEEN」演算子を利用して、名前が特定の範囲('C'から'P'まで)に含まれるレコードのみを抽出するビュー「Info」を作成しています。

mysql> Create or Replace view Info AS SELECT * from student_info WHERE Name BETWEEN 'C' AND 'P';
Query OK, 0 rows affected (0.14 sec)

mysql> Select * from info;
+------+--------+------------+------------+
| id   | Name   | Address    | Subject    |
+------+--------+------------+------------+
| 105  | Gaurav | Chandigarh | Literature |
| 133  | Mohan  | Delhi      | Computers  |
+------+--------+------------+------------+
2 rows in set (0.00 sec)

文字列に対してBETWEENを使用する場合、比較は辞書順(アルファベット順)で行われます。そのため、名前が「C」以上「P」以下の範囲に該当する「Gaurav」と「Mohan」の2件だけが結果として返されています。

NOT BETWEENで範囲外の値を選択する

同様に、BETWEEN演算子にNOTを組み合わせると、クエリで指定した範囲以外の値を選択することもできます。

mysql> Create or Replace view Info AS SELECT * from student_info WHERE Name NOT BETWEEN 'C' AND 'P';
Query OK, 0 rows affected (0.06 sec)

mysql> Select * from Info;
+------+---------+------------+-----------+
| id   | Name    | Address    | Subject   |
+------+---------+------------+-----------+
| 101  | YashPal | Amritsar   | History   |
| 125  | Raman   | Shimla     | Computers |
| 130  | Ram     | Jhansi     | Computers |
| 132  | Shyam   | Chandigarh | Economics |
+------+---------+------------+-----------+
4 rows in set (0.00 sec)

この場合は逆に、「C」から「P」の範囲に該当しない「YashPal」「Raman」「Ram」「Shyam」の4件が抽出されました。このように、BETWEENNOT BETWEENを使い分けることで、ベーステーブルから必要な範囲のデータだけを柔軟に絞り込んだビューを作成できます。

  1. MySQLでテーブルからランダムな値を3件表示する方法

    MySQLのテーブルからランダムな値を取得したい場合は、RAND()関数を使用します。取得する件数はLIMIT句で指定します。今回は3件を取得する例を見ていきましょう。select yourColumnName from yourTableName order by rand() limit 3;それでは、実際にサンプルテーブルを作成しながら手順を確認していきます。1. サンプルテーブルの作成まず、create table文でテーブルを作成します。mysql> create table DemoTable646 (     Id int NOT N

  2. MySQLのビューからテーブルを作成する方法を徹底解説!基本構文と実行手順

    ビューからテーブルを作成する基本構文 MySQLでは、ビュー(VIEW)をもとに新しいテーブルを簡単に作成できます。基本となる構文は以下の通りです。 create table yourTableName select * from yourViewName; このように「CREATE TABLE ... SELECT」構文を使うことで、ビューの構造とデータをそのまま新しいテーブルへ复制できます。以下、具体的な手順を見ていきましょう。 ステップ1:サンプルテーブルを作成する まず、元となるテーブルを作成します。 mysql> create table DemoTable830(Name