LEFT, RIGHT e INNER JOINs
A loja online fez um novo pedido de produtos a um fornecedor porque o estoque estava baixo. Isso significa que temos algum tempo livre até a chegada da remessa.
Vamos aproveitar essa oportunidade para aprender algo novo! Até agora, você tem utilizado o JOIN
padrão no SQL, mas existem outros tipos de junções que podem ser usados.
Aqui estão os 4 principais tipos de junções de tabelas:
INNER JOIN
: Retorna linhas com valores correspondentes em ambas as tabelas. Este é o mesmo que o JOIN padrão que você tem utilizado:
LEFT JOIN
: Retorna todas as linhas da tabela da esquerda e as linhas correspondentes da tabela da direita. Se não houver correspondências, retorna NULL
para a tabela da direita:
RIGHT JOIN
: Retorna todas as linhas da tabela da direita e as linhas correspondentes da tabela da esquerda. Se não houver correspondências, retorna NULL
para a tabela da esquerda:
FULL JOIN
: Retorna todas as linhas quando há correspondência em uma das tabelas. Se não houver correspondências, retorna NULL
para os valores ausentes na outra tabela:
Antes de explorarmos o uso desses joins, vamos analisar as duas tabelas que utilizaremos. Elas contêm detalhes sobre cursos e os estudantes matriculados neles.
courses
:
enrollments
:
A sintaxe para utilizar esses tipos de junções é realmente simples. Em vez do conhecido JOIN
ou INNER JOIN
, basta especificar LEFT JOIN
ou qualquer outro tipo de JOIN
:
SELECT table1.column, table2.column
FROM table1 -- this is the LEFT table
LEFT JOIN table 2 -- this is the RIGHT table
ON table1.common_column = table2.common_column
Swipe to start coding
Escreva uma consulta para recuperar uma lista de todos os cursos e os alunos matriculados, incluindo cursos sem alunos registrados.
Você precisa buscar as seguintes colunas nesta ordem:
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
Utilize o tipo apropriado de JOIN
para resolver esta tarefa!
Instruções Resumidas
- Recupere as colunas
courses.course_id
,courses.course_name
,courses.description
,enrollments.student_name
eenrollments.enrollment_date
da tabelacourses
. - Use um LEFT JOIN para unir com a tabela
enrollments
. - A coluna comum entre as duas tabelas é
courses.course_id = enrollments.course_id
.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain the differences between each type of join with examples?
How do I decide which type of join to use in a specific scenario?
Can you show how to join the `courses` and `enrollments` tables using one of these joins?
Awesome!
Completion rate improved to 4
LEFT, RIGHT e INNER JOINs
Deslize para mostrar o menu
A loja online fez um novo pedido de produtos a um fornecedor porque o estoque estava baixo. Isso significa que temos algum tempo livre até a chegada da remessa.
Vamos aproveitar essa oportunidade para aprender algo novo! Até agora, você tem utilizado o JOIN
padrão no SQL, mas existem outros tipos de junções que podem ser usados.
Aqui estão os 4 principais tipos de junções de tabelas:
INNER JOIN
: Retorna linhas com valores correspondentes em ambas as tabelas. Este é o mesmo que o JOIN padrão que você tem utilizado:
LEFT JOIN
: Retorna todas as linhas da tabela da esquerda e as linhas correspondentes da tabela da direita. Se não houver correspondências, retorna NULL
para a tabela da direita:
RIGHT JOIN
: Retorna todas as linhas da tabela da direita e as linhas correspondentes da tabela da esquerda. Se não houver correspondências, retorna NULL
para a tabela da esquerda:
FULL JOIN
: Retorna todas as linhas quando há correspondência em uma das tabelas. Se não houver correspondências, retorna NULL
para os valores ausentes na outra tabela:
Antes de explorarmos o uso desses joins, vamos analisar as duas tabelas que utilizaremos. Elas contêm detalhes sobre cursos e os estudantes matriculados neles.
courses
:
enrollments
:
A sintaxe para utilizar esses tipos de junções é realmente simples. Em vez do conhecido JOIN
ou INNER JOIN
, basta especificar LEFT JOIN
ou qualquer outro tipo de JOIN
:
SELECT table1.column, table2.column
FROM table1 -- this is the LEFT table
LEFT JOIN table 2 -- this is the RIGHT table
ON table1.common_column = table2.common_column
Swipe to start coding
Escreva uma consulta para recuperar uma lista de todos os cursos e os alunos matriculados, incluindo cursos sem alunos registrados.
Você precisa buscar as seguintes colunas nesta ordem:
courses.course_id,
courses.course_name,
courses.description,
enrollments.student_name,
enrollments.enrollment_date
Utilize o tipo apropriado de JOIN
para resolver esta tarefa!
Instruções Resumidas
- Recupere as colunas
courses.course_id
,courses.course_name
,courses.description
,enrollments.student_name
eenrollments.enrollment_date
da tabelacourses
. - Use um LEFT JOIN para unir com a tabela
enrollments
. - A coluna comum entre as duas tabelas é
courses.course_id = enrollments.course_id
.
Solução
Obrigado pelo seu feedback!
single