"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pouvez-vous combiner LIKE et IN pour des requêtes SQL plus puissantes ?

Pouvez-vous combiner LIKE et IN pour des requêtes SQL plus puissantes ?

Publié le 2024-11-15
Parcourir:987

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

Combinaison de LIKE et IN pour les requêtes SQL avancées

En SQL, l'opérateur LIKE est souvent utilisé pour la correspondance de modèles, tandis que l'opérateur IN permet nous pour faire correspondre une valeur à une liste de valeurs spécifiques. Bien que ces opérateurs répondent à des objectifs différents, il est possible de les combiner pour créer des requêtes plus puissantes.

Considérons le scénario suivant : vous disposez d'une table avec une colonne nommée "company_id" et vous souhaitez sélectionner toutes les lignes où le "company_id" commence par des chaînes spécifiques, telles que "M510", "M615", "M515" et "M612".

Une approche pourrait consister à utiliser l'opérateur LIKE comme suit :

SELECT * FROM tablename WHERE company_id LIKE 'M510%'

Cependant, cela ne correspondra qu'aux lignes qui commencent exactement par "M510". Pour faire correspondre plusieurs chaînes, vous devrez créer plusieurs requêtes.

Utiliser une sous-chaîne avec IN

Une solution plus efficace consiste à utiliser une sous-chaîne avec l'opérateur IN. La fonction SUBSTRING() extrait un nombre spécifié de caractères d'une chaîne, à partir d'une position donnée.

Pour notre scénario, nous pouvons utiliser la requête suivante :

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

Cette requête extraira les 4 premiers caractères de la colonne "company_id" et vérifiera si il existe dans la liste de valeurs spécifiée dans la clause IN. En combinant la sous-chaîne avec IN, nous pouvons obtenir la correspondance de modèle souhaitée sans avoir à parcourir un tableau de chaînes.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3