Maison >base de données >tutoriel mysql >Comment puis-je interroger efficacement une table en utilisant plusieurs colonnes dans une clause IN ?
Interrogation d'une table avec plusieurs colonnes dans une clause IN
En SQL, l'utilisation de la clause IN vous permet de filtrer les données en fonction d'un ensemble de valeurs pour une colonne spécifique. Cependant, utiliser la clause IN avec plusieurs colonnes peut s'avérer difficile.
Pour surmonter cette limitation, diverses solutions ont été proposées, notamment l'utilisation de jointures ou de la clause EXISTS. Cependant, ces méthodes nécessitent que la table principale et les données de recherche résident dans la base de données.
Solutions alternatives
Pour les cas où la table principale et les données de recherche sont toutes deux non disponible dans la base de données, des solutions alternatives peuvent être utilisées :
SELECT city FROM user WHERE (firstName='x' AND lastName='y') OR (firstName='a' AND lastName='b') OR ...
Solution préférée
La solution préférée dépend du cas d'utilisation spécifique :
Clause IN avec plusieurs colonnes
Cependant, une solution plus récente est apparue qui simplifie le processus d'interrogation de plusieurs colonnes à l'aide de la clause IN :
SELECT city FROM user WHERE (firstName, lastName) IN (('a', 'b'), ('c', 'd'));
Cette approche vous permet de spécifier plusieurs colonnes entre parenthèses de la clause IN, ce qui rend plus pratique et efficace le filtrage des données en fonction de combinaisons de valeurs.
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!