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

MySQLクエリに結果がない場合でも値を返しますか?


MySQLのIFNULL()関数を使用して、結果がない場合でも値を返すことができます。テーブルを作成しましょう。テーブルを作成するためのクエリ。

mysql> create table IfNullDemo
   −> (
   −> Id int,
   −> Name varchar(100)
   −> );
Query OK, 0 rows affected (0.60 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです-

mysql> insert into IfNullDemo values(1,'John');
Query OK, 1 row affected (0.18 sec)

mysql> insert into IfNullDemo values(200,'Sam');
Query OK, 1 row affected (0.21 sec)

mysql> insert into IfNullDemo values(204,'Carol');
Query OK, 1 row affected (0.14 sec)

mysql> insert into IfNullDemo values(510,'Johnson');
Query OK, 1 row affected (0.18 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from IfNullDemo;

以下は出力です-

+------+---------+
| Id   | Name    |
+------+---------+
|   1 | John     |
| 200 | Sam      |
| 204 | Carol    |
| 510 | Johnson  |
+------+---------+
4 rows in set (0.00 sec)

まず、TRUE条件の値を返しましょう-

クエリは次のとおりです-

mysql> select ifnull((select Id from IfNullDemo where Id = 200),'No Result Found') As ResultFound;

以下は出力です-

+-------------+
| ResultFound |
+-------------+
| 200         |
+-------------+
1 row in set (0.00 sec)

ここで、IFNULLメソッドを使用して結果がない場合は、値を返します。クエリは次のとおりです-

mysql> select ifnull((select Id from IfNullDemo where Id = 400),'No Result Found') As ResultFound;

以下は出力です-

+-----------------+
| ResultFound     |
+-----------------+
| No Result Found |
+-----------------+
1 row in set (0.00 sec)

  1. 列の値を置き換えるMySQLクエリ

    まずテーブルを作成しましょう- mysql> create table DemoTable (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Score int ); Query OK, 0 rows affected (0.45 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable(Score) values(56); Query OK, 1 row affected (0.24 sec)

  2. MySQLでN番目の最大値を見つけるためのクエリ

    最初にテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Value int    -> ); Query OK, 0 rows affected (0.59 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(40); Query OK, 1 row affected (0.26 sec) mysql> insert into Demo