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)
-
列の値を置き換える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)
-
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