JOIN básico – Parte 1
Parte da seção Fundamentos do Journey de SQL da Coddy. Lição 43 de 72.
Até agora, trabalhamos com problemas de uma única tabela. Agora vamos examinar como lidar com várias tabelas.
Vamos supor que temos as seguintes tabelas:
cursos
| course_id | lecturer_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
docentes
| lecturer_id | nome |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
A tarefa é apresentar cada curso com o nome do professor correspondente.
Há duas maneiras de conseguir isso. Para cada opção, associamos cada linha de uma tabela a uma linha da outra. Verificamos uma condição que precisa ser atendida e, se ela for atendida, combinamos as duas linhas em uma só. O resultado desejado para ambas as opções:
| course_id | lecturer_name |
|---|---|
| 1 | Jhonas |
| 2 | Jhonas |
| 3 | Malidos |
Opção 1:
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_idAqui escrevemos duas tabelas na palavra-chave FROM e, na cláusula WHERE, solicitamos que o lecturer_id de ambos os registros seja igual. Na cláusula SELECT, agora escrevemos table.column para que o banco de dados saiba de onde buscar a coluna.
Opção 2:
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses
JOIN lecturers ON courses.lecturer_id = lecturers.lecturer_idEm vez de WHERE, usamos JOIN table ON condition.
As duas opções dão o mesmo resultado e são chamadas de junção interna: somente os pares de linhas que atendem à condição são combinados.
Desafio
FácilTabelas e colunas disponíveis:
grades:course_id,student_id,gradestudents:id,name
Crie uma consulta que busque student_name, course_id, student_id e grade em uma tabela. Ordene o resultado por nota em ordem crescente.
Experimente você mesmo
-- Liste as colunas solicitadas pela tarefa, usando o alias solicitado
SELECT ____
FROM students, grades
-- Mantenha apenas os pares de linhas em que ambas as tabelas descrevem a mesma pessoa
WHERE ____
ORDER BY gradeEsta 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