"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Guide de la table pré-pilote de la gauche SQL

Guide de la table pré-pilote de la gauche SQL

Publié le 2025-04-21
Parcourir:550

How to Perform a Left Join with a Pre-Filtered Table in SQL?

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.

Dernier tutoriel Plus>

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