1. ホーム
  2. sql

LIKE演算子で複数の条件を導入するには?

2023-09-25 16:19:18

質問

以下のようなSQL文を書きたい。

select * from tbl where col like ('ABC%','XYZ%','PQR%');

を使ってできることは知っています。 OR . しかし、私はより良いソリューションがあることを知りたい。

どのように解決するのですか?

別の方法を紹介します。

select * from tbl where col like 'ABC%'
union
select * from tbl where col like 'XYZ%'
union
select * from tbl where col like 'PQR%';

以下は検証のためのテストコードです。

create table tbl (col varchar(255));
insert into tbl (col) values ('ABCDEFG'), ('HIJKLMNO'), ('PQRSTUVW'), ('XYZ');
select * from tbl where col like 'ABC%'
union
select * from tbl where col like 'XYZ%'
union
select * from tbl where col like 'PQR%';
+----------+
| col      |
+----------+
| ABCDEFG  |
| XYZ      |
| PQRSTUVW |
+----------+
3 rows in set (0.00 sec)