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件が抽出されました。このように、BETWEENとNOT BETWEENを使い分けることで、ベーステーブルから必要な範囲のデータだけを柔軟に絞り込んだビューを作成できます。
-
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
-
MySQLのビューからテーブルを作成する方法を徹底解説!基本構文と実行手順
ビューからテーブルを作成する基本構文 MySQLでは、ビュー(VIEW)をもとに新しいテーブルを簡単に作成できます。基本となる構文は以下の通りです。 create table yourTableName select * from yourViewName; このように「CREATE TABLE ... SELECT」構文を使うことで、ビューの構造とデータをそのまま新しいテーブルへ复制できます。以下、具体的な手順を見ていきましょう。 ステップ1:サンプルテーブルを作成する まず、元となるテーブルを作成します。 mysql> create table DemoTable830(Name