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_id | lecturer_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
lecturers
| lecturer_id | name |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
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_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 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_idEm vez de WHERE usamos JOIN table ON condition
Este tipo de join também é chamado de inner join.
Desafio
FácilTabelas 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 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
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columnsPratique por conta própria: Playground de SQL