Repaso: autounión
Parte de la sección Fundamentos del Journey de SQL de Coddy. Lección 47 de 72.
Desafío
DifícilTablas y columnas disponibles:
friends:id,name,friend_id
Para cada persona de la tabla friends, encuentra todas las conexiones de amigos de amigos que tenga. Una conexión de amigo de un amigo ocurre cuando la persona A es amiga de la persona B, que a su vez es amiga de la persona C. Enumera estas conexiones en tres columnas:
- friend1: la persona inicial
- friend2: su amiga directa
- friend3: la amiga de su amiga
Reglas:
- No incluyas los casos en los que friend3 sea la misma persona que friend1
- Ordena los resultados por el nombre de friend1 en orden descendente
Ejemplo: si Alice es amiga de Bob y Bob es amigo de Carol, entonces Alice-Bob-Carol sería una conexión válida de amigo de un amigo.
Pruébalo tú mismo
-- Une la tabla consigo misma dos veces para que una fila contenga una cadena de tres personas
SELECT ____ AS friend1, ____ AS friend2, ____ AS friend3
FROM friends f1
JOIN friends f2 ON ____
JOIN friends f3 ON ____
-- Descarta las cadenas que vuelven a la persona de la que partieron
WHERE ____
ORDER BY ____ DESC;Todas las lecciones de Fundamentos
4Más palabras clave
La palabra clave INLa palabra clave BETWEENLa palabra clave LIKELa palabra clave ASRepaso: modelos de celulares2Condiciones
Conceptos básicos de las condicionesLa palabra clave ANDLa palabra clave ORLa palabra clave NOTCombinación de múltiples condicionesParéntesisBooleanos5Operaciones aritméticas
Operadores matemáticosColumnas matemáticasLa operación móduloLa función ROUND()3Formato de retorno específico
Valores nulosOrdenar resultados, parte 1Ordenar resultados, parte 2Repaso: empresa de ciberseguridadLimitar el número de registrosRepaso: fábrica de vehículos6Desafíos introductorios
Repaso - Elección parlamentariaRepaso - Detención policial de un criminalRepaso - Recipiente de bebida de barRepaso - Ingeniería de nuevas columnas9Múltiples tablas
Unión básica, parte 1Unión básica, parte 2Repaso: uniónAutouniónRepaso: autouniónUniónSimplificar consultas, palabra clave WITHRepaso: consultas WITHRepaso: contratista inmobiliario12Funciones de ventana, parte 2
Funciones RANK y DENSE_RANKRepaso: RANK y DENSE_RANKFunción NTILEFunciones de agregaciónCriterio ROWS y RANGEPractica por tu cuenta: Playground de SQL