Riepilogo - Self join
Fa parte della sezione Fondamenti del percorso SQL di Coddy. Lezione 47 di 72.
Sfida
DifficileTabelle e colonne disponibili:
friends:id,name,friend_id
Per ogni persona nella tabella degli amici, trova tutte le connessioni tra amici di amici. Una connessione tra amici di amici si verifica quando la persona A è amica della persona B, che a sua volta è amica della persona C. Elenca queste connessioni in tre colonne:
- friend1: la persona iniziale
- friend2: il suo amico diretto
- friend3: l'amico del suo amico
Regole:
- Non includere i casi in cui friend3 è la stessa persona di friend1
- Ordina i risultati in base al nome di friend1 in ordine decrescente
Esempio: se Alice è amica di Bob e Bob è amico di Carol, allora Alice-Bob-Carol sarebbe una connessione valida tra amici di amici.
Provalo tu
-- Unisci la tabella a se stessa due volte, in modo che una riga contenga una catena di tre persone
SELECT ____ AS friend1, ____ AS friend2, ____ AS friend3
FROM friends f1
JOIN friends f2 ON ____
JOIN friends f3 ON ____
-- Escludi le catene che tornano alla persona da cui sono partite
WHERE ____
ORDER BY ____ DESC;Tutte le lezioni di Fondamenti
4Altre parole chiave
La parola chiave INLa parola chiave BETWEENLa parola chiave LIKELa parola chiave ASRiepilogo - Modelli di telefoni cellulari2Condizioni
Basi delle condizioniLa parola chiave ANDLa parola chiave ORLa parola chiave NOTCombinare più condizioniParentesiValori booleani5Operazioni aritmetiche
Operatori matematiciColonne matematicheL’operazione moduloLa funzione ROUND()3Formato di restituzione specifico
Valori nullOrdinare i risultati Parte 1Ordinare i risultati Parte 2Riepilogo - Azienda di sicurezza informaticaLimitare il numero di recordRiepilogo - Fabbrica di veicoli6Sfide introduttive
Ripasso - Elezione parlamentareRipasso - Arresto di un criminale da parte della poliziaRipasso - Contenitore per bevande da barRipasso - Progetta nuove colonne9Tabelle multiple
JOIN di base, parte 1JOIN di base, parte 2Riepilogo - JOINSelf joinRiepilogo - Self joinUNIONSemplificare le query, parola chiave WITHRiepilogo - Query con WITHRiepilogo - Impresa edile immobiliare12Funzioni finestra, parte 2
Funzioni RANK e DENSE_RANKRipasso: RANK e DENSE_RANKFunzione NTILEFunzioni di aggregazioneCriteri ROWS e RANGEEsercitati da solo: Playground SQL