Auto-JOIN
Parte da seção Fundamentos do Journey de SQL da Coddy. Lição 46 de 72.
As autojunções são tipos diferentes de junções. Até agora, falamos sobre junções de várias tabelas, mas as autojunções são feitas com a mesma tabela. Um exemplo clássico seria uma tabela de funcionários.
| employee_id | employee_name | manager_id |
| 1 | Minke | 2 |
| 2 | Temur | 3 |
| 3 | Tatjana | 4 |
| 4 | Marinela |
Todo funcionário tem um gerente, exceto o gerente de mais alto nível, e todo gerente também é um funcionário.
O problema: para cada funcionário, queremos saber o nome do gerente.
SELECT e2.employee_id, e2.employee_name, e1.employee_name as manager_name
FROM employees as e1
JOIN employees as e2 ON e1.employee_id = e2.manager_idFazemos a junção entre a mesma tabela, exceto que, em uma ocasião, a chamamos de e1 e, na segunda, ela é e2. A junção é feita entre os campos employee_id e manager_id.
O resultado:
| employee_id | employee_name | manager_name |
|---|---|---|
| 1 | Minke | Temur |
| 2 | Temur | Tatjana |
| 3 | Tatjana | Marinela |
Desafio
MédioTabelas e colunas disponíveis:
friends:id,name,friend_id
Encontre pares de amigos que são amigos mútuos (a amizade mútua existe quando o friend_id da pessoa A aponta para a pessoa B E o friend_id da pessoa B aponta para a pessoa A). Exiba os nomes de ambos os amigos em uma única linha. Dê às colunas os nomes friend1 e friend2.
Observação: inclua na cláusula WHERE o critério friend1.id < friend2.id para que ela não inclua pares duplicados
Experimente você mesmo
-- Junte a tabela a si mesma para que uma linha possa mostrar duas pessoas diferentes
SELECT ____ AS friend1, ____ AS friend2
FROM friends f1
JOIN friends f2 ON ____
-- Mantenha apenas os pares que apontam um para o outro
WHERE ____ AND f1.id < f2.id;Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
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