MySQLのLIKE演算子を使って1つのクエリで複数の値を取得する方法
LIKE演算子で複数の値を取得するには
LIKE演算子を使って複数の値を取得したい場合は、LIKE演算子とOR演算子を組み合わせて使用します。これにより、1つのクエリで複数のパターンに一致するレコードを抽出できます。
まずはサンプル用のテーブルを作成しましょう。
mysql> create table DemoTable1027
(
Id int,
Name varchar(100)
);
Query OK, 0 rows affected (1.64 sec)次に、INSERTコマンドを使ってテーブルにレコードを挿入します。
mysql> insert into DemoTable1027 values(100,'John'); Query OK, 1 row affected (0.72 sec) mysql> insert into DemoTable1027 values(20,'Chris'); Query OK, 1 row affected (0.56 sec) mysql> insert into DemoTable1027 values(200,'Robert'); Query OK, 1 row affected (0.84 sec) mysql> insert into DemoTable1027 values(400,'Mike'); Query OK, 1 row affected (0.47 sec)
テーブル内の全レコードを確認する
SELECT文を使って、テーブル内のすべてのレコードを表示してみましょう。
mysql> select *from DemoTable1027;
上記のクエリを実行すると、次のような結果が出力されます。
+------+--------+ | Id | Name | +------+--------+ | 100 | John | | 20 | Chris | | 200 | Robert | | 400 | Mike | +------+--------+ 4 rows in set (0.00 sec)
LIKEとORを組み合わせたクエリ
以下が、LIKE演算子とOR演算子を組み合わせて複数のレコードを取得するクエリの例です。Idカラムに対して「100」と「200」の2つのパターンで部分一致検索を行っています。
mysql> select *from DemoTable1027 where Id LIKE '%100%' or Id LIKE '%200%';
このクエリを実行すると、次のような結果が得られます。
+------+--------+ | Id | Name | +------+--------+ | 100 | John | | 200 | Robert | +------+--------+ 2 rows in set (0.74 sec)
このように、LIKE演算子に「%」のワイルドカードを組み合わせ、OR演算子で条件をつなげることで、1つのクエリで複数の値に一致するレコードを柔軟に取得することができます。条件が増える場合は、同様にORでつなぎ続けるか、条件数が多い場合にはREGEXP演算子の利用も検討するとよいでしょう。
-
【MySQL】SUM()関数を使って単一クエリで特定の列値ごとの複数カウントを取得する方法
特定の列値に基づくカウントを1つのMySQLクエリで複数取得するには、集計関数SUM()を活用します。MySQLでは「列 = 値」という条件式が真なら1、偽なら0を返すため、その結果をSUM()で合計することで、条件に一致する行数を数えられます。まずはサンプル用のテーブルを作成しましょう。 mysql> create table DemoTable1790 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20), Score int ); Query OK, 0 rows af
-
MySQLで1つのINSERT文を使って列に複数の値を一括挿入する方法
はじめにMySQLでは、1つのINSERT文を繰り返し実行しなくても、単一のクエリだけで同じ列に複数の値を挿入できます。VALUES句の後ろに、挿入したい値をカンマ区切りのタプル(行)として列挙するだけです。この方法はデータベースへの接続回数を減らせるため、大量のデータを登録する際にパフォーマンス面でも大きなメリットがあります。基本構文複数の値を1つの列に挿入する場合の基本構文は以下のとおりです。INSERT INTO テーブル名 VALUES(値1),(値2),...,(値N);このように、各値を丸括弧で囲み、カンマ(,)で区切って並べることで、1回のクエリで複数行をまとめて挿入できます。実