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

MySQLの「where1=1」ステートメントとは何ですか?


MySQLでは、このステートメントは常にtrueであるため、「Where1=1」はテーブルのすべての行になります。このステートメントをよりよく理解するための例を以下に示します-

まず、createコマンドを使用してテーブルを作成します。これは次のように与えられます-

mysql> CREATE table WhereConditon
-> (
-> id int,
-> name varchar(100)
-> );
Query OK, 0 rows affected (0.43 sec)

テーブルが正常に作成された後、挿入コマンドを使用していくつかのレコードが挿入されます。これに対するクエリは次のようになります-

mysql> INSERT into WhereConditon values(1,'John');
Query OK, 1 row affected (0.16 sec)

mysql> INSERT into WhereConditon values(2,'Smith');
Query OK, 1 row affected (0.15 sec)

mysql> INSERT into WhereConditon values(3,'Bob');
Query OK, 1 row affected (0.16 sec)

mysql> INSERT into WhereConditon values(4,'David');
Query OK, 1 row affected (0.13 sec)

レコードが正常に挿入されたので、selectステートメントを使用してテーブル内のレコードの数を確認できます。これは次のように与えられます-

mysql> SELECT * from WhereConditon;

上記のクエリを実行すると、テーブルのすべてのレコードが次のように表示されます-

+------+-------+
| id   | name  |
+------+-------+
| 1    | John  |
| 2    | Smith |
| 3    | Bob   |
| 4    | David |
+------+-------+
4 rows in set (0.00 sec)

ここで、ステートメント1 =1がselectステートメントとともに使用され、テーブルに名前が表示されます。 1 =1は常にtrueであるため、すべての名前が表示されます。

これに対するクエリは次のように与えられます-

mysql> select name from WhereConditon where 1=1;
から名前を選択します

上記のクエリの出力は次のとおりです

+-------+
| name  |
+-------+
| John  |
| Smith |
| Bob   |
| David |
+-------+
4 rows in set (0.00 sec)

  1. IFステートメントの結果として文字列を返すMySQLクエリ?

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

  2. MySQLクエリにIFステートメントを挿入する適切な方法は何ですか?

    MySQLクエリにIFステートメントを挿入するには、次の構文を使用します:: select yourColumnName ,if(yourCondition, yourStatement1,yourStatement2) from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable1571    -> (    -> Id int,    -> Value int    -> ); Query OK, 0 rows