Maison >base de données >tutoriel mysql >Comment interroger efficacement les enregistrements de base de données correspondant aux tuples d'une liste ?

Comment interroger efficacement les enregistrements de base de données correspondant aux tuples d'une liste ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-27 14:40:10908parcourir

How to Efficiently Query Database Records Matching Tuples from a List?

Tuples dans la clause SQL "IN"

Q : Comment pouvons-nous interroger efficacement une table de base de données pour les enregistrements correspondant aux tuples d'un fichier codé en dur list ?

A : La syntaxe SQL-92 standard fournit une solution en utilisant les VALEURS mot-clé.

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

Détails de mise en œuvre :

  • Placez les tuples entre guillemets simples, et non entre guillemets doubles.
  • Ajoutez le mot-clé VALUES avant la liste des tuples.

Avantages de ceci Syntaxe :

  • Élimine le besoin de concaténation et de conversion de chaînes coûteuses.
  • Prend en charge les tuples avec plusieurs valeurs.

Compatibilité des bases de données :

  • Prise en charge des bases de données conformes au standard SQL-92 cette syntaxe.
  • Depuis SQL Server 2022, Microsoft n'a pas implémenté cette fonctionnalité.
  • PostgreSQL et SQLite sont des exemples de bases de données qui 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!

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