INNER et LEFT JOIN

article inner join jupyter jupyter notebook left join pandas python sql Jul 26, 2024

Introduction

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.

 

Ne ratez pas nos prochains contenus

Inscrivez vous à notre Newsletter pour recevoir tous nos prochains contenus gratuits : Articles, Webinaires, Podcasts, Astuces vidéos,...

Data AI Lab

Transformez votre quotidien avec des compétences clés en data. Des formations, conseils et défis pour une maîtrise pointue en Data Science et IA.

 

Liens

Accueil
Challenges Data
Consulting

 

Formations

Parcours Data Analyst
Parcours Data Engineer
Voir toutes les formations

 

Ressources

Articles
Webinaires
Tuto vidéos

 

All rights reserved 2024 - Mentions légales - Politique de confidentialité

Â