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

MySQLでWHERE1=0に言及するのはなぜですか?


条件1=0を使用して、クエリが行を返さないようにすることができます。空のセットを返します。

構文は次のとおりです。

SELECT *FROM yourTableName WHERE 1=0;

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。

mysql> create table ConditionDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(10),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.59 sec)

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

mysql> insert into ConditionDemo(Name) values('Larry');
Query OK, 1 row affected (0.10 sec)
mysql> insert into ConditionDemo(Name) values('Sam');
Query OK, 1 row affected (0.14 sec)
mysql> insert into ConditionDemo(Name) values('Mike');
Query OK, 1 row affected (0.13 sec)
mysql> insert into ConditionDemo(Name) values('Carol');
Query OK, 1 row affected (0.12 sec)
mysql> insert into ConditionDemo(Name) values('John');
Query OK, 1 row affected (0.17 sec)
mysql> insert into ConditionDemo(Name) values('Bob');
Query OK, 1 row affected (0.10 sec)

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

mysql> select *from ConditionDemo;

出力は次のとおりです。

+----+-------+
| Id | Name  |
+----+-------+
|  1 | Larry |
|  2 | Sam   |
|  3 | Mike  |
|  4 | Carol |
|  5 | John  |
|  6 | Bob   |
+----+-------+
6 rows in set (0.00 sec)

クエリが行を返さないようにするためのクエリは次のとおりです

mysql> select *from ConditionDemo where 1=0;
Empty set (0.00 sec)

  1. IDが4で割り切れるすべての行を検索するMySQLクエリ?

    まず、列の1つをID-として持つテーブルを作成しましょう。 mysql> create table DemoTable    (    ID int,    StudentName varchar(10),    CountryName varchar(20)    ); Query OK, 0 rows affected (0.70 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values

  2. 10進数が整数であるレコードをフェッチするMySQLクエリ

    これには、FLOOR()関数を使用します。ここでは、5.23、8.76、12.00、22.68などのレコードを持つリストから12.00、35.00などのレコードをフェッチします。最初にテーブルを作成しましょう- mysql> create table DemoTable (    Value DECIMAL(4,2) ); Query OK, 0 rows affected (0.53 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(54.20); Query