Récapitulatif - Auto-jointure
Fait partie de la section Les fondamentaux du Journey SQL de Coddy. Leçon 47 sur 72.
Défi
DifficileTables et colonnes disponibles :
friends:id,name,friend_id
Pour chaque personne de la table friends, trouvez toutes les relations d’ami d’un ami qu’elle possède. Une relation d’ami d’un ami se produit lorsque la personne A est amie avec la personne B, qui est elle-même amie avec la personne C. Répertoriez ces relations sous forme de trois colonnes :
- friend1 : la personne de départ
- friend2 : son ami direct
- friend3 : l’ami de son ami
Règles :
- N’incluez pas les cas où friend3 est la même personne que friend1
- Triez les résultats par nom de friend1, dans l’ordre décroissant
Exemple : si Alice est amie avec Bob et que Bob est ami avec Carol, alors Alice-Bob-Carol est une relation d’ami d’un ami valide.
Essayez vous-même
-- Joindre la table à elle-même deux fois pour qu'une ligne contienne une chaîne de trois personnes
SELECT ____ AS friend1, ____ AS friend2, ____ AS friend3
FROM friends f1
JOIN friends f2 ON ____
JOIN friends f3 ON ____
-- Éliminer les chaînes qui bouclent vers la personne de départ
WHERE ____
ORDER BY ____ DESC;Toutes les leçons de Les fondamentaux
1Introduction
IntroductionQu’est-ce qu’une base de donnéesConcepts des bases de donnéesValeurs uniques4D’autres mots-clés
Le mot-clé INLe mot-clé BETWEENLe mot-clé LIKELe mot-clé ASRécapitulatif - Modèles de téléphones portables2Conditions
Bases des conditionsLe mot-clé ANDLe mot-clé ORLe mot-clé NOTCombinaison de plusieurs conditionsParenthèsesBooléens5Opérations arithmétiques
Opérateurs mathématiquesColonnes mathématiquesL’opération moduloLa fonction ROUND()3Format de retour spécifique
Valeurs NULLTrier les résultats, partie 1Trier les résultats, partie 2Récapitulatif - Entreprise de cybersécuritéLimiter le nombre d’enregistrementsRécapitulatif - Usine de véhicules6Défis d’introduction
Récapitulatif - Élection parlementaireRécapitulatif - Arrestation criminelle par la policeRécapitulatif - Récipient de boisson au barRécapitulatif - Ingénieur de nouvelles colonnes9Tables multiples
Jointure de base, partie 1Jointure de base, partie 2Récapitulatif - JointureAuto-jointureRécapitulatif - Auto-jointureUnionSimplifier les requêtes, mot-clé WITHRécapitulatif - Requêtes WITHRécapitulatif - Entrepreneur immobilier12Fonctions de fenêtre – partie 2
Fonctions RANK & DENSE_RANKRécapitulatif – RANK & DENSE_RANKFonction NTILEFonctions d’agrégationCritère ROWS & RANGEEntraînez-vous par vous-même : Playground SQL