ホームページ >データベース >SQL >SQLでのlikeとinの使用法

SQLでのlikeとinの使用法

下次还敢
下次还敢オリジナル
2024-05-02 03:39:17959ブラウズ

SQL では、LIKE は特定のパターンを含む文字列を検索するために使用されますが、ワイルドカードをサポートしていますが、IN 演算子ほど効率的ではありません。 IN は、指定された値のリストに一致するフィールドを検索するために使用され、より高速であり、インデックスの最適化をサポートします。特定の値を検索する場合は IN を使用し、類似した文字列を検索する場合は LIKE を使用し、パフォーマンスを最適化するために IN を優先して使用することをお勧めします。

SQLでのlikeとinの使用法

SQL での LIKE と IN の使用

LIKEIN は両方とも SQL で使用されます。データをフィルタリングするための演算子ですが、その使用法と効果は異なります。

LIKE 演算子は、指定されたパターンに一致する文字列を検索するために使用されます。パターンには、単一または複数の文字を表すパーセント記号 (%) やアンダースコア (_) などのワイルドカード文字を含めることができます。例:

<code class="sql">SELECT * FROM customers WHERE name LIKE '%John%';</code>

これにより、名前に文字列「John」が含まれるすべての顧客レコードが返されます。

#IN 演算子は、指定された値のリストに一致するフィールドを検索するために使用されます。値のリストは括弧で囲まれています。例:

<code class="sql">SELECT * FROM customers WHERE id IN (1, 2, 3);</code>
これにより、ID 1、2、または 3 の顧客レコードが返されます。

違い

    ##汎用性:
  • LIKE はより一般的で、パターンに一致する任意の文字列を検索できますが、IN は指定された文字列のみに一致します。値のリスト。
  • 効率:
  • IN は、限られた値のリストをチェックするだけでよいのに対し、LIKE は文字列全体をスキャンする必要があるため、一般に LIKE よりも効率的です。
  • インデックス:
  • フィールドにインデックスが構築されている場合、IN はそのインデックスを使用してクエリのパフォーマンスを向上できますが、LIKE は使用できません。
  • ワイルドカード文字:
  • LIKE はワイルドカード文字の使用をサポートしますが、IN はサポートしません。
使用上の提案

    特定の値を検索します:
  • IN を使用します。
  • 類似の文字列を検索します:
  • LIKE を使用します。
  • パフォーマンスの最適化:
  • フィールドにインデックスがある場合は、IN が優先されます。

名前が「John」または「Jane」である顧客を検索します:

<code class="sql">SELECT * FROM customers WHERE name IN ('John', 'Jane');</code>

名前に文字「」が含まれる顧客を検索します。 smith" 文字列の顧客:

<code class="sql">SELECT * FROM customers WHERE name LIKE '%smith%';</code>

以上がSQLでのlikeとinの使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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