ホームページ  >  記事  >  データベース  >  LIKE と IN を組み合わせて、より強力な SQL クエリを実現できますか?

LIKE と IN を組み合わせて、より強力な SQL クエリを実現できますか?

DDD
DDDオリジナル
2024-11-18 07:03:02303ブラウズ

Can You Combine LIKE and IN for More Powerful SQL Queries?

高度な SQL クエリのための LIKE と IN の組み合わせ

SQL では、LIKE 演算子はパターン マッチングによく使用されますが、IN 演算子は値を特定の値のリストと照合します。これらの演算子は異なる目的を果たしますが、これらを組み合わせてより強力なクエリを作成することができます。

次のシナリオを考えてみましょう。「company_id」という名前の列を持つテーブルがあり、 「company_id」は、「M510」、「M615」、「M515」、「M612」などの特定の文字列で始まります。

1 つの方法は、次のように LIKE 演算子を使用することです。

SELECT * FROM tablename WHERE company_id LIKE 'M510%'

ただし、これは「M510」で始まる行のみに正確に一致します。複数の文字列を照合するには、複数のクエリを作成する必要があります。

IN での部分文字列の使用

より効率的な解決策は、IN 演算子で部分文字列を使用することです。 SUBSTRING() 関数は、指定された位置から開始して、指定された数の文字を文字列から抽出します。

このシナリオでは、次のクエリを使用できます。

SELECT * FROM tablename
WHERE SUBSTRING(company_id, 1, 4) IN ('M510', 'M615', 'M515', 'M612')

このクエリは、 「company_id」列から最初の 4 文字を抽出し、それが IN 句で指定された値のリストに存在するかどうかを確認します。部分文字列を IN と組み合わせることで、文字列の配列をループすることなく、目的のパターン マッチングを実現できます。

以上がLIKE と IN を組み合わせて、より強力な SQL クエリを実現できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。