Conteúdo do Curso
SQL Intermediário
SQL Intermediário
LEFT, RIGHT and INNER JOINs
The online store has ordered more products from a supplier because they were running low on stock. This means we have some free time until the shipment arrives.
Let's use this opportunity to learn something new! So far, you've been using the standard JOIN
in SQL, but there are other types of joins you can use.
Here are the 4 main types of table joins:
-
INNER JOIN
: Returns rows with matching values in both tables. This is the same as the standard JOIN you've been using; -
LEFT JOIN
: Returns all rows from the left table and the matching rows from the right table. If there are no matches, it returnsNULL
for the right table; -
RIGHT JOIN
: Returns all rows from the right table and the matching rows from the left table. If there are no matches, it returnsNULL
for the left table; -
FULL JOIN
: Returns all rows when there is a match in one of the tables. If there are no matches, it returnsNULL
for the missing values in the other table.
Ótimo trabalho! A loja online realizou um pedido a um fornecedor para produtos que estavam com baixo estoque, então eles não precisarão de nós até que a remessa chegue.
Esta é uma excelente oportunidade para aprender algo novo! Ao longo dos últimos 4 capítulos, você tem utilizado o JOIN
padrão sem saber que existem outras formas de unir tabelas.
Existem 4 principais tipos de junções de tabelas:
-
INNER JOIN
: Retorna somente as linhas que têm valores correspondentes em ambas as tabelas; (Essa junção tem a mesma funcionalidade do JOIN padrão que você tem usado até agora) -
LEFT JOIN
: Retorna todas as linhas da tabela da esquerda e as linhas correspondentes da tabela da direita. Se não houver correspondências, retornaNULL
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, retornaNULL
para a tabela da esquerda; -
FULL JOIN
: Retorna todas as linhas quando há uma correspondência em uma das tabelas. Se não houver correspondências, retornaNULL
para os valores ausentes na outra tabela.
enrollments
:
The syntax for using these types of joins is actually simple. Instead of the familiar JOIN
or INNER JOIN
, just specify LEFT JOIN
or any other type of JOIN
:
A sintaxe para usar esses tipos de junções é na verdade simples. Em vez do familiar JOIN
ou INNER JOIN
, basta especificar LEFT JOIN
ou qualquer outro tipo de JOIN
.
Nesse caso, a sintaxe será assim:
Swipe to begin your solution
Write a query to retrieve a list of all courses and the students enrolled, including courses with no registered students.
You need to fetch the following columns in this order:
Use the appropriate type of JOIN
to solve this task!
Brief Instructions
- Retrieve the columns
courses.course_id
,courses.course_name
,courses.description
,enrollments.student_name
, andenrollments.enrollment_date
from thecourses
table. - Use a LEFT JOIN to join the
enrollments
table. - The common column for both tables is
courses.course_id = enrollments.course_id
.
Solução
Obrigado pelo seu feedback!
LEFT, RIGHT and INNER JOINs
The online store has ordered more products from a supplier because they were running low on stock. This means we have some free time until the shipment arrives.
Let's use this opportunity to learn something new! So far, you've been using the standard JOIN
in SQL, but there are other types of joins you can use.
Here are the 4 main types of table joins:
-
INNER JOIN
: Returns rows with matching values in both tables. This is the same as the standard JOIN you've been using; -
LEFT JOIN
: Returns all rows from the left table and the matching rows from the right table. If there are no matches, it returnsNULL
for the right table; -
RIGHT JOIN
: Returns all rows from the right table and the matching rows from the left table. If there are no matches, it returnsNULL
for the left table; -
FULL JOIN
: Returns all rows when there is a match in one of the tables. If there are no matches, it returnsNULL
for the missing values in the other table.
Ótimo trabalho! A loja online realizou um pedido a um fornecedor para produtos que estavam com baixo estoque, então eles não precisarão de nós até que a remessa chegue.
Esta é uma excelente oportunidade para aprender algo novo! Ao longo dos últimos 4 capítulos, você tem utilizado o JOIN
padrão sem saber que existem outras formas de unir tabelas.
Existem 4 principais tipos de junções de tabelas:
-
INNER JOIN
: Retorna somente as linhas que têm valores correspondentes em ambas as tabelas; (Essa junção tem a mesma funcionalidade do JOIN padrão que você tem usado até agora) -
LEFT JOIN
: Retorna todas as linhas da tabela da esquerda e as linhas correspondentes da tabela da direita. Se não houver correspondências, retornaNULL
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, retornaNULL
para a tabela da esquerda; -
FULL JOIN
: Retorna todas as linhas quando há uma correspondência em uma das tabelas. Se não houver correspondências, retornaNULL
para os valores ausentes na outra tabela.
enrollments
:
The syntax for using these types of joins is actually simple. Instead of the familiar JOIN
or INNER JOIN
, just specify LEFT JOIN
or any other type of JOIN
:
A sintaxe para usar esses tipos de junções é na verdade simples. Em vez do familiar JOIN
ou INNER JOIN
, basta especificar LEFT JOIN
ou qualquer outro tipo de JOIN
.
Nesse caso, a sintaxe será assim:
Swipe to begin your solution
Write a query to retrieve a list of all courses and the students enrolled, including courses with no registered students.
You need to fetch the following columns in this order:
Use the appropriate type of JOIN
to solve this task!
Brief Instructions
- Retrieve the columns
courses.course_id
,courses.course_name
,courses.description
,enrollments.student_name
, andenrollments.enrollment_date
from thecourses
table. - Use a LEFT JOIN to join the
enrollments
table. - The common column for both tables is
courses.course_id = enrollments.course_id
.
Solução
Obrigado pelo seu feedback!