Rückblick – Self-Join
Teil des Abschnitts Grundlagen der SQL-Journey von Coddy. Lektion 47 von 72.
Aufgabe
SchwerVerfügbare Tabellen und Spalten:
friends:id,name,friend_id
Finde für jede Person in der Tabelle friends alle Verbindungen zu Freunden von Freunden. Eine Verbindung zu einem Freund eines Freundes liegt vor, wenn Person A mit Person B befreundet ist und Person B wiederum mit Person C befreundet ist. Liste diese Verbindungen als drei Spalten auf:
- friend1: die Ausgangsperson
- friend2: ihr direkter Freund
- friend3: der Freund ihres Freundes
Regeln:
- Schließe Fälle aus, in denen friend3 dieselbe Person wie friend1 ist
- Sortiere die Ergebnisse absteigend nach dem Namen von friend1
Beispiel: Wenn Alice mit Bob befreundet ist und Bob mit Carol befreundet ist, wäre Alice-Bob-Carol eine gültige Verbindung zu einem Freund eines Freundes.
Probier es selbst
-- Verbinde die Tabelle zweimal mit sich selbst, sodass eine Zeile eine Kette aus drei Personen enthält
SELECT ____ AS friend1, ____ AS friend2, ____ AS friend3
FROM friends f1
JOIN friends f2 ON ____
JOIN friends f3 ON ____
-- Verwerfe die Ketten, die zu der Person zurücklaufen, von der sie ausgegangen sind
WHERE ____
ORDER BY ____ DESC;Alle Lektionen in Grundlagen
4Weitere Schlüsselwörter
Das IN-SchlüsselwortDas BETWEEN-SchlüsselwortDas LIKE-SchlüsselwortDas AS-SchlüsselwortRückblick – Handymodelle7Datumsangaben
Datumsangaben behandeln – Teil 1Datumsangaben behandeln – Teil 2Datumsangaben behandeln – Teil 32Bedingungen
Grundlagen der BedingungenDas Schlüsselwort ANDDas Schlüsselwort ORDas Schlüsselwort NOTMehrere kombinierte BedingungenKlammernBoolesche Werte5Arithmetische Operationen
Mathematische OperatorenMathematische SpaltenDie Modulo-OperationDie ROUND()-Funktion3Spezifisches Rückgabeformat
NULL-WerteErgebnisse sortieren Teil 1Ergebnisse sortieren Teil 2Zusammenfassung - Cyber Security FirmAnzahl der Datensätze begrenzenZusammenfassung - Vehicle Factory6Einführungsaufgaben
Wiederholung – ParlamentswahlWiederholung – Festnahme eines Straftäters durch die PolizeiWiederholung – Getränkebehälter an der BarWiederholung – Neue Spalten erstellenÜbe selbstständig: SQL-Playground