Powtórka — samozłączenie
Część sekcji Podstawy ścieżki SQL w Coddy. Lekcja 47 z 72.
Wyzwanie
TrudnyDostępne tabele i kolumny:
friends:id,name,friend_id
Dla każdej osoby w tabeli friends znajdź wszystkie jej połączenia ze znajomymi znajomych. Połączenie ze znajomym znajomego występuje wtedy, gdy osoba A przyjaźni się z osobą B, która z kolei przyjaźni się z osobą C. Wypisz te połączenia w trzech kolumnach:
- friend1: osoba początkowa
- friend2: jej bezpośredni znajomy
- friend3: znajomy jej znajomego
Zasady:
- Nie uwzględniaj przypadków, w których friend3 jest tą samą osobą co friend1
- Posortuj wyniki według imienia friend1 w kolejności malejącej
Przykład: jeśli Alice przyjaźni się z Bobem, a Bob przyjaźni się z Carol, to Alice-Bob-Carol będzie prawidłowym połączeniem ze znajomym znajomego.
Spróbuj swoich sił
-- Połącz tabelę dwukrotnie z samą sobą, aby jeden wiersz zawierał łańcuch trzech osób
SELECT ____ AS friend1, ____ AS friend2, ____ AS friend3
FROM friends f1
JOIN friends f2 ON ____
JOIN friends f3 ON ____
-- Odrzuć łańcuchy, które wracają do osoby, od której się zaczęły
WHERE ____
ORDER BY ____ DESC;Wszystkie lekcje w sekcji Podstawy
4Więcej słów kluczowych
Słowo kluczowe INSłowo kluczowe BETWEENSłowo kluczowe LIKESłowo kluczowe ASPowtórzenie – modele telefonów komórkowych2Instrukcje warunkowe
Podstawy instrukcji warunkowychSłowo kluczowe ANDSłowo kluczowe ORSłowo kluczowe NOTŁączenie wielu warunkówNawiasyWartości logiczne3Określony format zwracanych danych
Wartości nullSortowanie wyników — część 1Sortowanie wyników — część 2Powtórzenie — firma zajmująca się cyberbezpieczeństwemOgraniczanie liczby rekordówPowtórzenie — fabryka pojazdów6Wyzwania na początek
Powtórka – wybory parlamentarnePowtórka – zatrzymanie przestępcy przez policjęPowtórka – pojemnik na napój w barzePowtórka – inżynier: nowe kolumnyPoćwicz samodzielnie: Edytor online SQL