0% ont trouvé ce document utile (0 vote)
36 vues4 pages

Jointures

Le document présente les différents types de jointures SQL, notamment INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN et SELF JOIN, avec des exemples concrets pour illustrer leur utilisation. Il aborde également des opérations de sélection, filtrage, tri, regroupement, insertion, mise à jour et suppression de données. Enfin, il mentionne l'utilisation de sous-requêtes pour des requêtes imbriquées.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
36 vues4 pages

Jointures

Le document présente les différents types de jointures SQL, notamment INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN et SELF JOIN, avec des exemples concrets pour illustrer leur utilisation. Il aborde également des opérations de sélection, filtrage, tri, regroupement, insertion, mise à jour et suppression de données. Enfin, il mentionne l'utilisation de sous-requêtes pour des requêtes imbriquées.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Parfait !

Voici un résumé clair et illustré des types de jointures SQL (JOIN) avec des
exemples concrets :

🔗 Qu’est-ce qu’une jointure ?

Une jointure permet de lier plusieurs tables dans une même requête pour croiser les données.

Exemple :

• Table employes : contient id, nom, departement_id


• Table departements : contient id, nom

1. ✅ INNER JOIN : seulement les correspondances


SELECT e.nom, d.nom
FROM employes e
INNER JOIN departements d ON e.departement_id = d.id;

Résultat : liste des employés qui ont un département assigné.

2. ⬅️ LEFT JOIN (ou LEFT OUTER JOIN) : tous les enregistrements de gauche +
correspondances à droite
SELECT e.nom, d.nom
FROM employes e
LEFT JOIN departements d ON e.departement_id = d.id;

Résultat : tous les employés, même ceux sans département (valeurs NULL pour d.nom).

3. ➡️ RIGHT JOIN (ou RIGHT OUTER JOIN) : tous les enregistrements de droite + ceux qui
correspondent à gauche
SELECT e.nom, d.nom
FROM employes e
RIGHT JOIN departements d ON e.departement_id = d.id;

Résultat : tous les départements, même ceux sans employés.


4. 🌐 FULL JOIN (ou FULL OUTER JOIN) : tous les enregistrements des deux côtés, avec ou
sans correspondance
SELECT e.nom, d.nom
FROM employes e
FULL JOIN departements d ON e.departement_id = d.id;

Résultat : tous les employés + tous les départements, même sans lien.
(Souvent non disponible par défaut dans MySQL – il faut parfois le simuler avec UNION)

5. 🪞 SELF JOIN : joindre une table avec elle-même


SELECT a.nom AS employe, b.nom AS superviseur
FROM employes a
JOIN employes b ON a.superviseur_id = b.id;

Pratique pour des relations hiérarchiques (ex: employés et superviseurs).

Souhaites-tu que je crée un exemple complet avec des données réelles et le résultat attendu ?

🔍 1. Sélectionner des données


SELECT colonne1, colonne2 FROM table;

• SELECT * FROM utilisateurs; → sélectionne toutes les colonnes.


• SELECT nom, email FROM clients;

🎯 2. Filtrer les résultats


SELECT * FROM table WHERE condition;

• SELECT * FROM produits WHERE prix > 100;


• SELECT * FROM employés WHERE poste = 'Manager';

Opérateurs utiles : =, >, <, >=, <=, !=, LIKE, IN, BETWEEN, IS NULL

🔢 3. Trier les résultats


SELECT * FROM table ORDER BY colonne [ASC|DESC];
• SELECT * FROM articles ORDER BY date DESC;

📊 4. Regrouper des données


SELECT colonne, COUNT(*) FROM table GROUP BY colonne;

• SELECT pays, COUNT(*) FROM clients GROUP BY pays;

🚫 5. Filtrer des groupes


SELECT colonne, COUNT(*) FROM table GROUP BY colonne HAVING COUNT(*) > 5;

• HAVING s’utilise après GROUP BY, contrairement à WHERE.

➕ 6. Insérer des données


INSERT INTO table (col1, col2) VALUES (val1, val2);

• INSERT INTO utilisateurs (nom, email) VALUES ('Alice',


'[email protected]');

📝 7. Mettre à jour des données


UPDATE table SET col1 = val1 WHERE condition;

• UPDATE produits SET prix = 20 WHERE id = 5;

❌ 8. Supprimer des données


DELETE FROM table WHERE condition;

• DELETE FROM commandes WHERE date < '2024-01-01';

🔗 9. Faire des jointures


SELECT * FROM table1
JOIN table2 ON table1.col = table2.col;

Types de jointures :

• INNER JOIN : lignes qui correspondent dans les deux tables.


• LEFT JOIN : toutes les lignes de gauche + celles qui correspondent à droite.
• RIGHT JOIN : inverse du LEFT JOIN.
• FULL JOIN (si supporté) : toutes les lignes, même sans correspondance.

🧩 10. Sous-requêtes
SELECT * FROM produits
WHERE prix > (SELECT AVG(prix) FROM produits);

• Permet d’utiliser une requête dans une autre requête.

Souhaites-tu que je t'écrive un petit exercice pratique avec une base fictive ?

Vous aimerez peut-être aussi