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

MySQLのIF句を使って学生の合否(PASS/FAIL)を新しい列に表示する方法

MySQLでは、IF()関数を活用することで、条件に応じた値を新しい列として表示できます。本記事では、学生のスコアに基づいて「PASS(合格)」または「FAIL(不合格)」を判定し、その結果を新しい列に表示する方法を、実際のコード例とともにわかりやすく解説します。

1. テーブルの作成

まず、サンプル用のテーブルを作成しましょう。

mysql> create table DemoTable
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(100),
-> Subject varchar(100),
-> Score int
-> );
Query OK, 0 rows affected (0.94 sec)

このテーブルは、学生ID(Id)、名前(Name)、科目(Subject)、スコア(Score)を格納する構造になっています。

2. レコードの挿入

次に、INSERTコマンドを使用してテーブルにデータを追加します。

mysql> insert into DemoTable(Name,Subject,Score) values('Chris','MySQL',80);
Query OK, 1 row affected (0.32 sec)

mysql> insert into DemoTable(Name,Subject,Score) values('Robert','MongoDB',45);
Query OK, 1 row affected (0.62 sec)

mysql> insert into DemoTable(Name,Subject,Score) values('Adam','Java',78);
Query OK, 1 row affected (0.52 sec)

3. テーブルの内容を確認

SELECT文を使って、テーブル内のすべてのレコードを表示してみましょう。

mysql> select *from DemoTable;

出力

上記のクエリを実行すると、次のような結果が得られます。

+----+--------+---------+-------+
| Id | Name | Subject | Score |
+----+--------+---------+-------+
| 1 | Chris | MySQL | 80 |
| 2 | Robert | MongoDB | 45 |
| 3 | Adam | Java | 78 |
+----+--------+---------+-------+
3 rows in set (0.00 sec)

4. IF句で合否を判定する

ここからが本題です。MySQLのIF()関数は、「IF(条件式, 真の場合の値, 偽の場合の値)」という構文で記述でき、SELECT文の中で動的に判定結果を生成できます。

以下のクエリでは、スコアが75より大きい場合に「PASS」、それ以外の場合に「FAIL」を返し、その結果をAS句で「Status」という別名の新しい列として表示しています。

mysql> select Name,Subject,Score,if(Score > 75,"PASS","FAIL") AS Status from DemoTable;

出力

実行結果は以下の通りです。

+--------+---------+-------+--------+
| Name | Subject | Score | Status |
+--------+---------+-------+--------+
| Chris | MySQL | 80 | PASS |
| Robert | MongoDB | 45 | FAIL |
| Adam | Java | 78 | PASS |
+--------+---------+-------+--------+
3 rows in set (0.00 sec)

まとめ

IF()関数を使えば、SQLクエリ内で条件分岐を行い、判定結果をそのまま新しい列として出力できます。AS句で別名を付けることで、読みやすい列名で結果を表示できるのもポイントです。この手法は、合否判定だけでなく、在庫の有無や処理ステータスの表示など、さまざまな場面で応用できる便利なテクニックなので、ぜひ覚えておきましょう。

  1. MySQLビュー(VIEW)にWHERE句を使う方法をわかりやすく解説

    MySQLビューでWHERE句を使用する方法MySQLでは、作成済みのビュー(VIEW)に対して、通常のテーブルと同じようにWHERE句を指定してデータを絞り込むことができます。基本となる構文は以下の通りです。select * from yourViewName where yourColumnName=yourValue;それでは、実際にサンプルを使って手順を確認していきましょう。1. サンプルテーブルを作成するまず、学生情報を格納するテーブルを作成します。mysql> create table DemoTable1432 -> ( -> StudentId

  2. MySQLでテーブル内の各レコードの出現回数をカウントし、結果を新しい列として表示する方法

    MySQLのテーブル内で同じ値が何回出現するかをカウントし、その結果を新しい列として表示したい場合があります。このような集計処理には、COUNT(*)関数とGROUP BY句を組み合わせて使用します。 サンプルテーブルの作成 まず、動作確認用のテーブルを作成しましょう。 mysql> create table DemoTable1942 ( Value int ); Query OK, 0 rows affected (0.00 sec) INSERTコマンドを使って、いくつかのレコードを挿入します。 mysql> insert into DemoTable