Menu
Coddy logo textTech

Basic Join Part 1

Parte da seção Fundamentos do Journey de SQL da Coddy. Lição 43 de 72.

Até agora, lidamos com problemas de uma única tabela. Agora examinaremos como manipular múltiplas tabelas.

Vamos assumir que temos as seguintes tabelas:

courses

course_idlecturer_id
11
21
32

lecturers

lecturer_idname
1Jhonas
2Malidos

A tarefa é apresentar, para cada curso, o nome do professor correspondente.

Existem duas maneiras de alcançar isso. Para cada opção, relacionamos cada linha em uma tabela com a outra. Verificamos uma condição que deve ser atendida e, se a condição for cumprida, combinamos as duas linhas em uma só. O resultado desejado para ambas as opções:

course_idlecturer_name
1Jhonas
2Jhonas
3Malidos

Opção 1:

SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_id

Aqui escrevemos duas tabelas na palavra-chave FROM, e na cláusula WHERE solicitamos que o lecturer_id de ambos os registros seja o mesmo. 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_id

Em vez de WHERE usamos JOIN table ON condition

Este tipo de join também é chamado de inner join.

challenge icon

Desafio

Fácil

Tabelas e colunas disponíveis:

  • <strong>grades</strong>: <strong>course_id</strong>, <strong>student_id</strong>, <strong>grade</strong>
  • <strong>students</strong>: <strong>id</strong>, <strong>name</strong>

Crie uma consulta que busque student_name, course_id, student_id e grade em uma tabela. Ordene o resultado por grade em ordem crescente.

Experimente você mesmo

-- Liste as colunas que a tarefa pede, usando o alias que ela pede
SELECT ____
FROM students, grades
-- Mantenha apenas os pares de linhas onde ambas as tabelas descrevem a mesma pessoa
WHERE ____
ORDER BY grade
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Playground de SQL