Revisão – Auto-JOIN
Parte da seção Fundamentos do Journey de SQL da Coddy. Lição 47 de 72.
Desafio
DifícilTabelas e colunas disponíveis:
friends:id,name,friend_id
Para cada pessoa na tabela friends, encontre todas as conexões de amigos de amigos que ela possui. Uma conexão de amigo de amigo ocorre quando a pessoa A é amiga da pessoa B, que, por sua vez, é amiga da pessoa C. Liste essas conexões em três colunas:
- friend1: a pessoa inicial
- friend2: seu amigo direto
- friend3: o amigo de seu amigo
Regras:
- Não inclua casos em que friend3 seja a mesma pessoa que friend1
- Ordene os resultados pelo nome de friend1 em ordem decrescente
Exemplo: se Alice é amiga de Bob, e Bob é amigo de Carol, então Alice-Bob-Carol seria uma conexão válida de amigo de amigo.
Experimente você mesmo
-- Junte a tabela a si mesma duas vezes para que uma linha contenha uma cadeia de três pessoas
SELECT ____ AS friend1, ____ AS friend2, ____ AS friend3
FROM friends f1
JOIN friends f2 ON ____
JOIN friends f3 ON ____
-- Descarte as cadeias que voltam para a pessoa de onde começaram
WHERE ____
ORDER BY ____ DESC;Todas as lições de Fundamentos
4Mais palavras-chave
A palavra-chave INA palavra-chave BETWEENA palavra-chave LIKEA palavra-chave ASRecapitulação - Modelos de celulares2Condições
Noções básicas de condiçõesA palavra-chave ANDA palavra-chave ORA palavra-chave NOTCombinação de várias condiçõesParêntesesBooleanos3Formato de retorno específico
Valores nulosOrdenar resultados - Parte 1Ordenar resultados - Parte 2Recapitulação - Empresa de segurança cibernéticaLimitar o número de registrosRecapitulação - Fábrica de veículos6Desafios introdutórios
Revisão - Eleição parlamentarRevisão - Prisão criminal pela políciaRevisão - Recipiente de bebidas de barRevisão - Projetar novas colunasPratique por conta própria: Playground de SQL