高度な 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 と組み合わせることで、文字列の配列をループすることなく、目的のパターン マッチングを実現できます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3