Maison >base de données >tutoriel mysql >Comment puis-je combiner efficacement les opérateurs LIKE et IN dans SQL Server pour le filtrage des données ?

Comment puis-je combiner efficacement les opérateurs LIKE et IN dans SQL Server pour le filtrage des données ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-16 22:31:10864parcourir

How Can I Efficiently Combine LIKE and IN Operators in SQL Server for Data Filtering?

SQL Server : combiner LIKE et IN pour le filtrage des données

Cet article explore l'utilisation efficace des opérateurs LIKE et IN au sein d'une seule requête SQL Server pour un filtrage de données affiné. Il est important de noter que la combinaison directe de ces opérateurs n'est pas simple, car leur interaction diffère de l'utilisation de plusieurs caractères génériques avec LIKE.

Comprendre l'INOpérateur

L'opérateur IN compare efficacement une colonne à un ensemble de valeurs spécifiées. Par exemple :

<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn IN (1, 2, 3);</code>

Cette requête récupère toutes les lignes où MyColumn contient 1, 2 ou 3.

Le défi de combiner LIKE et IN

Bien qu'il puisse sembler logique de combiner LIKE et IN directement, cette approche n'est pas directement prise en charge. L'opérateur IN fonctionne comme une série de conditions OR. Par conséquent :

<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn LIKE IN ('Text%', 'Link%', 'Hello%', '%World%'); -- Incorrect</code>

n'est pas un SQL valide. Cela ne se comporte pas comme si vous utilisiez plusieurs caractères génériques.

La bonne approche : utiliser plusieurs OR Conditions

Pour obtenir le filtrage souhaité, utilisez des LIKE conditions distinctes jointes par OR :

<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn LIKE 'Text%' OR MyColumn LIKE 'Hello%' OR MyColumn LIKE 'That%';</code>

Cela renvoie correctement les lignes où MyColumn contient « Texte », « Bonjour » ou « Cela » comme sous-chaîne, n'importe où dans la valeur de la colonne. Cette méthode offre la flexibilité et le contrôle nécessaires à la correspondance de modèles complexes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn