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_nameeenrollments.enrollment_dateda 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_nameeenrollments.enrollment_dateda 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