Effectuer efficacement les données de la table de la table gauche SQL, les données de la table pré-filtre
]Lors du traitement de plusieurs tables, il est généralement nécessaire de filtrer l'une des tables avant de les rejoindre. Cet exemple implique deux tables: table client et table d'entrée.
Le but est de filtrer le tableau d'entrée en fonction de la catégorie spécifique «D» avant d'effectuer une jointure de gauche entre ces deux tables. Le résultat attendu est: tous les enregistrements dans le tableau client sont récupérés, qu'il existe des enregistrements pertinents dans le tableau d'entrée; Et en même temps, les enregistrements qui ne répondent pas aux critères de catégorie dans le tableau d'entrée sont exclus.
La requête SQL suivante montre comment y parvenir:
SELECT c.Customer, c.State, e.Entry
FROM Customer c
LEFT JOIN Entry e
ON c.Customer=e.Customer
AND e.Category='D'
En déplaçant la condition de filtre à la condition de jointure, nous pouvons appliquer des filtres de catégorie à la table d'entrée avant de rejoindre. Cela garantit que seuls les enregistrements d'entrée qui répondent aux critères de catégorie sont inclus dans le résultat de la connexion.
Exemple de table
]客户表 (Customer):
╔══════════╦═══════╗
║ Customer ║ State ║
╠══════════╬═══════╣
║ A ║ S ║
║ B ║ V ║
║ C ║ L ║
╚══════════╩═══════╝
条目表 (Entry):
╔══════════╦═══════╦══════════╗
║ Customer ║ Entry ║ Category ║
╠══════════╬═══════╬══════════╣
║ A ║ 5575 ║ D ║
║ A ║ 6532 ║ C ║
║ A ║ 3215 ║ D ║
║ A ║ 5645 ║ M ║
║ B ║ 3331 ║ A ║
║ B ║ 4445 ║ D ║
╚══════════╩═══════╩══════════╝
résultat
╔══════════╦═══════╦═══════╗
║ Customer ║ State ║ Entry ║
╠══════════╬═══════╬═══════╣
║ A ║ S ║ 5575 ║
║ A ║ S ║ 3215 ║
║ B ║ V ║ 4445 ║
║ C ║ L ║ NULL ║
╚══════════╩═══════╩═══════╝
Résumé, en utilisant la clause et dans la condition de jointure, nous pouvons filtrer le tableau avant de les rejoindre, afin que les données soient récupérées plus précisément en fonction des conditions spécifiées.
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