Recap - Self Join
Teil des Abschnitts Grundlagen der SQL-Journey von Coddy. Lektion 47 von 72.
Aufgabe
SchwerVerfügbare Tabellen und Spalten:
<strong>friends</strong>:<strong>id</strong>,<strong>name</strong>,<strong>friend_id</strong>
Finde für jede Person in der Tabelle friends alle Freundes-Freund-Verbindungen, die sie hat. Eine Freundes-Freund-Verbindung entsteht, wenn Person A mit Person B befreundet ist, die wiederum mit Person C befreundet ist. Liste diese Verbindungen in drei Spalten auf:
friend1: die Ausgangspersonfriend2: deren direkter Freundfriend3: der Freund ihres Freundes
Regeln:
- Schließe Fälle aus, in denen
friend3dieselbe Person ist wiefriend1 - Sortiere die Ergebnisse nach dem Namen von
friend1in absteigender Reihenfolge
Beispiel: Wenn Alice mit Bob befreundet ist und Bob mit Carol befreundet ist, dann wäre Alice-Bob-Carol eine gültige Freundes-Freund-Verbindung.
Probier es selbst
-- Verbinde die Tabelle zweimal mit sich selbst, sodass eine Zeile eine Kette von drei Personen enthält
SELECT ____ AS friend1, ____ AS friend2, ____ AS friend3
FROM friends f1
JOIN friends f2 ON ____
JOIN friends f3 ON ____
-- Entferne die Ketten, die zu der Person zurücklaufen, von der sie ausgegangen sind
WHERE ____
ORDER BY ____ DESC;Alle Lektionen in Grundlagen
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columnsÜbe selbstständig: SQL-Playground