MySQLの1つのクエリで学生ID・名前・年齢の3つの条件を組み合わせて学生レコードを取得する方法
MySQLでは、AND演算子を使うことで、1つのクエリ内に複数の条件を指定できます。ここでは、学生ID(StudentId)、名前(StudentName)、年齢(StudentAge)という3つの条件をすべて満たすレコードを取得する方法を、実際のコード例とともに解説します。
1. サンプルテーブルの作成
まず、デモ用のテーブルを作成します。
mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(50), StudentAge int ); Query OK, 0 rows affected (0.72 sec)
StudentIdは自動採番(AUTO_INCREMENT)の主キーとして定義しています。
2. テーブルへのデータ挿入
次に、INSERTコマンドを使ってレコードを追加します。
mysql> insert into DemoTable(StudentName,StudentAge) values('Chris',21);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(StudentName,StudentAge) values('David',23);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(StudentName,StudentAge) values('Bob',22);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(StudentName,StudentAge) values('Carol',21);
Query OK, 1 row affected (0.30 sec)
3. 登録されたレコードの確認
SELECT文ですべてのレコードを表示してみましょう。
mysql> select *from DemoTable;
このクエリを実行すると、次のような結果が得られます。
+-----------+-------------+------------+ | StudentId | StudentName | StudentAge | +-----------+-------------+------------+ | 1 | Chris | 21 | | 2 | David | 23 | | 3 | Bob | 22 | | 4 | Carol | 21 | +-----------+-------------+------------+ 4 rows in set (0.00 sec)
4. 3つの条件を指定してレコードを取得する
ここが本題です。WHERE句の中でAND演算子をつなげることで、複数の条件をすべて満たすレコードだけを絞り込めます。以下は、学生IDが「4」、名前が「Carol」、年齢が「21」の3条件を指定したクエリです。
mysql> select *from DemoTable where StudentId=4 and StudentName='Carol' and StudentAge=21;
実行結果は次のとおりです。
+-----------+-------------+------------+ | StudentId | StudentName | StudentAge | +-----------+-------------+------------+ | 4 | Carol | 21 | +-----------+-------------+------------+ 1 row in set (0.00 sec)
まとめ
このように、WHERE句にANDで条件をつなぐことで、1つのクエリだけでID・名前・年齢といった複数の条件に一致するレコードを正確に抽出できます。なお、条件のどれか1つでも一致すればよい場合は、OR演算子を使用してください。
-
MySQLで1つのINSERT文を使って列に複数の値を一括挿入する方法
はじめにMySQLでは、1つのINSERT文を繰り返し実行しなくても、単一のクエリだけで同じ列に複数の値を挿入できます。VALUES句の後ろに、挿入したい値をカンマ区切りのタプル(行)として列挙するだけです。この方法はデータベースへの接続回数を減らせるため、大量のデータを登録する際にパフォーマンス面でも大きなメリットがあります。基本構文複数の値を1つの列に挿入する場合の基本構文は以下のとおりです。INSERT INTO テーブル名 VALUES(値1),(値2),...,(値N);このように、各値を丸括弧で囲み、カンマ(,)で区切って並べることで、1回のクエリで複数行をまとめて挿入できます。実
-
MySQLでAND・OR演算子を組み合わせた単一クエリを使って特定のレコードを取得する方法
MySQLでは、AND演算子とOR演算子をWHERE句で組み合わせることで、複数の条件を指定しながら特定のレコードを1つのクエリで取得できます。本記事では、実際にテーブルを作成し、データを挿入して、AND・ORを組み合わせたクエリの動作を確認していきます。 1. テーブルの作成 まず、CREATE TABLE文でサンプル用のテーブルを作成します。 mysql> create table DemoTable2015 -> ( -> StudentId int, -> StudentName varchar(20), -> Stude