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

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演算子を使用してください。

  1. MySQLで1つのINSERT文を使って列に複数の値を一括挿入する方法

    はじめにMySQLでは、1つのINSERT文を繰り返し実行しなくても、単一のクエリだけで同じ列に複数の値を挿入できます。VALUES句の後ろに、挿入したい値をカンマ区切りのタプル(行)として列挙するだけです。この方法はデータベースへの接続回数を減らせるため、大量のデータを登録する際にパフォーマンス面でも大きなメリットがあります。基本構文複数の値を1つの列に挿入する場合の基本構文は以下のとおりです。INSERT INTO テーブル名 VALUES(値1),(値2),...,(値N);このように、各値を丸括弧で囲み、カンマ(,)で区切って並べることで、1回のクエリで複数行をまとめて挿入できます。実

  2. MySQLでAND・OR演算子を組み合わせた単一クエリを使って特定のレコードを取得する方法

    MySQLでは、AND演算子とOR演算子をWHERE句で組み合わせることで、複数の条件を指定しながら特定のレコードを1つのクエリで取得できます。本記事では、実際にテーブルを作成し、データを挿入して、AND・ORを組み合わせたクエリの動作を確認していきます。 1. テーブルの作成 まず、CREATE TABLE文でサンプル用のテーブルを作成します。 mysql> create table DemoTable2015 -> ( -> StudentId int, -> StudentName varchar(20), -> Stude