Contenido del Curso
SQL Intermedio
SQL Intermedio
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.
¡Buen trabajo! La tienda en línea ha hecho un pedido a un proveedor de productos que tenían bajos en inventario, así que no nos necesitarán hasta que llegue el envío.
Esta es una gran oportunidad para aprender algo nuevo. A lo largo de los últimos 4 capítulos, has estado usando el JOIN
estándar sin saber que existen otras formas de unir tablas.
Hay 4 tipos principales de uniones de tablas:
-
INNER JOIN
: Devuelve solo las filas que tienen valores coincidentes en ambas tablas; (Esta unión tiene la misma funcionalidad que el JOIN estándar que has estado usando hasta ahora) -
LEFT JOIN
: Devuelve todas las filas de la tabla izquierda y las filas coincidentes de la tabla derecha. Si no hay coincidencias, devuelveNULL
para la tabla derecha; -
RIGHT JOIN
: Devuelve todas las filas de la tabla derecha y las filas coincidentes de la tabla izquierda. Si no hay coincidencias, devuelveNULL
para la tabla izquierda; -
FULL JOIN
: Devuelve todas las filas cuando hay una coincidencia en una de las tablas. Si no hay coincidencias, devuelveNULL
para los valores que faltan en la otra tabla.
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
:
La sintaxis para utilizar estos tipos de uniones es realmente sencilla. En lugar del familiar JOIN
o INNER JOIN
, simplemente especifica LEFT JOIN
o cualquier otro tipo de JOIN
.
En este caso, la sintaxis lucirá así:
Swipe to show code editor
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
.
Solución
¡Gracias por tus comentarios!
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.
¡Buen trabajo! La tienda en línea ha hecho un pedido a un proveedor de productos que tenían bajos en inventario, así que no nos necesitarán hasta que llegue el envío.
Esta es una gran oportunidad para aprender algo nuevo. A lo largo de los últimos 4 capítulos, has estado usando el JOIN
estándar sin saber que existen otras formas de unir tablas.
Hay 4 tipos principales de uniones de tablas:
-
INNER JOIN
: Devuelve solo las filas que tienen valores coincidentes en ambas tablas; (Esta unión tiene la misma funcionalidad que el JOIN estándar que has estado usando hasta ahora) -
LEFT JOIN
: Devuelve todas las filas de la tabla izquierda y las filas coincidentes de la tabla derecha. Si no hay coincidencias, devuelveNULL
para la tabla derecha; -
RIGHT JOIN
: Devuelve todas las filas de la tabla derecha y las filas coincidentes de la tabla izquierda. Si no hay coincidencias, devuelveNULL
para la tabla izquierda; -
FULL JOIN
: Devuelve todas las filas cuando hay una coincidencia en una de las tablas. Si no hay coincidencias, devuelveNULL
para los valores que faltan en la otra tabla.
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
:
La sintaxis para utilizar estos tipos de uniones es realmente sencilla. En lugar del familiar JOIN
o INNER JOIN
, simplemente especifica LEFT JOIN
o cualquier otro tipo de JOIN
.
En este caso, la sintaxis lucirá así:
Swipe to show code editor
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
.
Solución
¡Gracias por tus comentarios!