Maison > base de données > tutoriel mysql > Comment puis-je comparer efficacement les tuples dans la clause « IN » de SQL ?

Comment puis-je comparer efficacement les tuples dans la clause « IN » de SQL ?

Linda Hamilton
Libérer: 2025-01-03 00:37:38
original
832 Les gens l'ont consulté

How Can I Efficiently Compare Tuples in SQL's `IN` Clause?

Utilisation de tuples dans la clause SQL "IN"

Lorsque vous travaillez avec des clauses WHERE complexes, il est souvent nécessaire de comparer un champ ou un ensemble de champs à une liste de valeurs. Dans le cas de la comparaison de tuples, plusieurs options sont disponibles.

La clause IN avec des valeurs codées en dur

Une approche consiste à utiliser des valeurs codées en dur dans la clause IN. Cependant, cela peut s'avérer inefficace pour les grandes tables, car chaque enregistrement nécessite une concaténation et une conversion de chaînes.

Utilisation des clauses VALUE (SQL standard)

Une option plus efficace pour le standard Les bases de données SQL-92 doivent utiliser des clauses VALUES dans l'opérateur IN. Cela implique de mettre la liste des tuples entre parenthèses et d'ajouter le mot-clé VALUES.

SELECT *
FROM mytable
WHERE (group_id, group_type) IN (
                                VALUES ('1234-567', 2), 
                                       ('4321-765', 3), 
                                       ('1111-222', 5)
                               );
Copier après la connexion

Compatibilité des bases de données

Il est important de noter que cette syntaxe n'est pas prise en charge par tous les SQL. produits. Depuis SQL Server 2022, cette fonctionnalité est considérée comme non planifiée. PostgreSQL et SQLite, cependant, prennent en charge cette syntaxe.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal