Utilisation de tuples dans la clause SQL "IN" avec des valeurs codées en dur
En SQL, la clause "IN" vous permet de vérifier si la valeur d'une colonne correspond à n'importe quelle valeur d'une liste spécifiée. Cependant, des défis surviennent lorsque l'on travaille avec des tuples et des valeurs codées en dur.
Alternative à la concaténation de chaînes
Une solution proposée impliquait la concaténation de chaînes, mais son inefficacité pour les grandes tables soulève préoccupations.
Norme SQL-92 valide Syntaxe
Une approche plus efficace consiste à utiliser un ajustement mineur de la syntaxe dans la syntaxe SQL-92 standard :
SELECT * FROM mytable WHERE (group_id, group_type) IN ( VALUES ('1234-567', 2), ('4321-765', 3), ('1111-222', 5) );
Cette syntaxe est valide dans de nombreux produits SQL populaires, notamment PostgreSQL et SQLite. Cependant, SQL Server 2022 ne le prend actuellement pas en charge.
Conclusion
En remplaçant les guillemets doubles par des guillemets simples et en ajoutant le mot clé VALUES, vous pouvez exploiter une syntaxe plus efficace pour interroger des tuples avec des valeurs codées en dur dans la clause SQL "IN". Cette approche résout les inconvénients de la concaténation de chaînes et fournit une solution plus évolutive pour les grandes tables.
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!