単一のMySQLクエリで「LIKE」と「IN」を実装できますか?
効率を上げるには、同じタスクに正規表現を使用します。まずテーブルを作成しましょう-
mysql> create table DemoTable -> ( -> Name varchar(30) -> ); Query OK, 0 rows affected (0.62 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values('John'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('Chris'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('Robert'); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values('David'); Query OK, 1 row affected (0.17 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+--------+ | Name | +--------+ | John | | Chris | | Robert | | David | +--------+ 4 rows in set (0.00 sec)
これは、LIKEおよびINの代替としてREGEXPを実装するためのクエリです-
mysql> select *from DemoTable where Name REGEXP 'John|Robert|David';
これにより、次の出力が生成されます-
+--------+ | Name | +--------+ | John | | Robert | | David | +--------+ 3 rows in set (0.11 sec)
-
最初の値にラップアラウンドし、MySQL ORDERBYASCとDESCを単一のクエリで実装します
最初にテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Value int -> ); Query OK, 0 rows affected (3.21 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(20); Query OK, 1 row affected (0.78 sec) mysql> insert into Demo
-
単一のMySQLクエリでSELECTLIKEとCHAR_LENGTH()を実装する
最初にテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Name varchar(20) -> ); Query OK, 0 rows affected (0.49 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('Chris Brown'); Query OK, 1 row affected (0.19 sec)