INNER et LEFT JOIN
article inner join jupyter jupyter notebook left join pandas python sql Jul 26, 2024Introduction
Les jointures SQL sont essentielles pour combiner des données provenant de plusieurs tables d'une base de données relationnelle. Les deux types de jointures les plus couramment utilisés sont l'INNER JOIN et le LEFT JOIN. Cet article va explorer ces jointures en profondeur, en détaillant leur utilisation, les clés primaires et étrangères, et en offrant des exemples pratiques.
1. INNER JOIN & LEFT JOIN
Les jointures permettent de relier des tables sur la base de colonnes communes. L'INNER JOIN retourne uniquement les lignes avec des correspondances dans les deux tables, tandis que le LEFT JOIN retourne toutes les lignes de la table de gauche, avec les correspondances de la table de droite.
2. SET UP de l'environnement
Pour suivre cet article, assurez vous d'avoir installé les bibliothèques nécessaires et configuré une base de données SQLite. Exécuter les cellules contenant le code ci-dessous dans l'ordre pour charger les bibliothèques , le processus peut prendre quelques minutes:
%pip install -q ipywidgets pandas matplotlib sqlite3 import sqlite3 import pandas as pd # Connexion à la base de données SQLite conn = sqlite3.connect('data/company_operations.db')
3. Clés primaires et clés étrangères
Les clés primaires (Primary Key) identifient de manière unique chaque enregistrement d'une table. Les clés étrangères (Foreign Key) créent des liens entre les tables, en pointant vers une clé primaire dans une autre table.
4. INNER JOIN
L'INNER JOIN combine les lignes de deux tables en utilisant une condition de correspondance. Par exemple :
SELECT * FROM orders INNER JOIN customers ON orders.customer_id = customers.customer_id;
Ce code sélectionne toutes les colonnes des tables orders
et customers
où les customer_id
correspondent.
5. LEFT JOIN
Le LEFT JOIN retourne toutes les lignes de la table de gauche, et les lignes correspondantes de la table de droite. Si aucune correspondance n'est trouvée, les résultats de la table de droite seront NULL. Par exemple :
SELECT * FROM orders LEFT JOIN customers ON orders.customer_id = customers.customer_id;
Ce code sélectionne toutes les commandes, même si elles n'ont pas de client correspondant.
6. Jointures de plusieurs tables
Vous pouvez joindre plus de deux tables en utilisant plusieurs JOIN. Par exemple :
SELECT * FROM orders INNER JOIN customers ON orders.customer_id = customers.customer_id INNER JOIN products ON orders.product_id = products.product_id;
Ce code joint les tables orders
, customers
, et products
.
7. Jointure et agrégation
Les jointures peuvent être combinées avec des fonctions d'agrégation pour résumer les données. Par exemple, pour calculer le total des ventes par client :
SELECT customers.customer_id, SUM(orders.amount) AS total_sales FROM orders INNER JOIN customers ON orders.customer_id = customers.customer_id GROUP BY customers.customer_id;
8. Exercice et correction
Dans le notebook ci-dessous vous aller trouver plusieurs exemples ainsi qu'un exercice corrigé
9. Faire de la paratique
Pour faire un peut de pratique vous pouvez parcourir le notebook suivant :
Conclusion
Les jointures sont un outil puissant pour manipuler et interroger des données dans des bases de données relationnelles. L'INNER JOIN permet de combiner uniquement les lignes correspondantes des deux tables, tandis que le LEFT JOIN inclut toutes les lignes de la table de gauche. En maîtrisant ces concepts, vous pouvez effectuer des requêtes SQL plus efficaces et complexes.
Sélectionner une catégorie
Articles récents
Ne manquez pas tous nos contenus gratuits !
Certifié par
El Mahdi Aich
Architecte Data
Consultant Senior Data & Architecte spécialisé en Azure, AWS, DataBricks, SnowFlake, Python, SQL Server et PowerBI. Avec plus de 15 ans d'expérience, je transforme les défis complexes en avantages stratégiques grâce à des solutions de données évolutives, ETL optimisés, BI complètes et analytique avancée.