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