Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
UNIR 2 Tablas | Uniendo Tablas
SQL Intermedio
course content

Contenido del Curso

SQL Intermedio

SQL Intermedio

1. Agrupamiento
2. Subconsultas Anidadas
3. Uniendo Tablas
4. DDL y DML en SQL

book
UNIR 2 Tablas

¡Genial! Hemos captado la atención de una empresa que posee una pequeña tienda en línea. Tienen 2 tablas que están relacionadas entre sí. La primera tabla contiene información sobre los productos vendidos en la tienda en línea.

Así es como se ve la tabla product:

La segunda tabla contiene categorías de productos en el sitio web, junto con una breve descripción para cada categoría.

Así es como se ve la tabla category:

Trabajaremos con estas dos tablas.

Tenemos la primera tarea: unir estas 2 tablas y ver la cantidad de productos en cada categoría. Para hacerlo, utilizaremos una sentencia JOIN.

Hagamos un descanso de la tarea principal y entendamos qué es una sentencia JOIN y cómo usarla.

Para unir 2 tablas, deben tener una columna en común entre ellas. Consideremos el uso de JOIN usando el ejemplo de las tablas employees y department. Les recordaré que su columna común es employees.department y departments.name.

Nota

Fíjate cómo escribí las columnas de estas tablas. Primero, escribo el nombre de la tabla, luego pongo un punto y el nombre de la columna. Cuando usamos más de una tabla en una consulta, necesitamos especificar la tabla de la cual estamos tomando la columna para hacer el código legible. Además, en el caso de que las tablas tengan columnas con el mismo nombre, necesitamos que SQL entienda a qué tabla y columna nos estamos refiriendo.

Establezcámonos la tarea de obtener el salario total para los empleados en cada tipo de departamento (tech/non-tech).

La consulta para lograr esta tarea se verá así:

1234
SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
copy

Vamos a entender paso a paso lo que hicimos y cómo utilizamos JOIN:

  1. En la sección SELECT, especificamos las columnas que necesitamos recuperar de dos tablas, indicando el nombre de la tabla al que pertenece la columna;
  2. En la sección JOIN, especificamos la tabla que queremos unir, seguido de especificar la columna común. En nuestro caso, es employees.department y department.name;
  3. Luego, agregamos los datos por type (ya que tenemos una función de agregación SUM() en la sección SELECT para encontrar el salario total) y obtenemos el resultado que nos interesa.

La consulta puede parecer compleja, así que veamos la sintaxis general para usar JOIN:

De esta manera, podemos unir tablas y obtener el resultado deseado, incluso si la información está dispersa en múltiples tablas.

Nota

A diferencia de la cláusula UNION, la instrucción JOIN nos permite combinar completamente las tablas, no solo las columnas comunes entre ellas. También es importante señalar que al usar la instrucción JOIN, no necesitamos utilizar subconsultas con cláusulas, como lo hacemos con la cláusula UNION.

Ahora volvamos a la tarea que tenemos entre manos y refuercemos nuestro conocimiento con práctica:

Tarea
test

Swipe to show code editor

Tu tarea es unir las dos tablas: category y product. Las columnas comunes para estas dos tablas son product.category_id y category.id. Tu labor es encontrar el total de productos en cada categoría. Para hacerlo, necesitas calcular la suma de la columna product.amount. ¡Utiliza el alias total_amount para esta columna! Al final de tu consulta, ordena el resultado por la columna total_amount en orden ascendente.

En la respuesta, deberías tener 2 columnas: category.name y total_amount.

¡Buena suerte!

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 1
toggle bottom row

book
UNIR 2 Tablas

¡Genial! Hemos captado la atención de una empresa que posee una pequeña tienda en línea. Tienen 2 tablas que están relacionadas entre sí. La primera tabla contiene información sobre los productos vendidos en la tienda en línea.

Así es como se ve la tabla product:

La segunda tabla contiene categorías de productos en el sitio web, junto con una breve descripción para cada categoría.

Así es como se ve la tabla category:

Trabajaremos con estas dos tablas.

Tenemos la primera tarea: unir estas 2 tablas y ver la cantidad de productos en cada categoría. Para hacerlo, utilizaremos una sentencia JOIN.

Hagamos un descanso de la tarea principal y entendamos qué es una sentencia JOIN y cómo usarla.

Para unir 2 tablas, deben tener una columna en común entre ellas. Consideremos el uso de JOIN usando el ejemplo de las tablas employees y department. Les recordaré que su columna común es employees.department y departments.name.

Nota

Fíjate cómo escribí las columnas de estas tablas. Primero, escribo el nombre de la tabla, luego pongo un punto y el nombre de la columna. Cuando usamos más de una tabla en una consulta, necesitamos especificar la tabla de la cual estamos tomando la columna para hacer el código legible. Además, en el caso de que las tablas tengan columnas con el mismo nombre, necesitamos que SQL entienda a qué tabla y columna nos estamos refiriendo.

Establezcámonos la tarea de obtener el salario total para los empleados en cada tipo de departamento (tech/non-tech).

La consulta para lograr esta tarea se verá así:

1234
SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
copy

Vamos a entender paso a paso lo que hicimos y cómo utilizamos JOIN:

  1. En la sección SELECT, especificamos las columnas que necesitamos recuperar de dos tablas, indicando el nombre de la tabla al que pertenece la columna;
  2. En la sección JOIN, especificamos la tabla que queremos unir, seguido de especificar la columna común. En nuestro caso, es employees.department y department.name;
  3. Luego, agregamos los datos por type (ya que tenemos una función de agregación SUM() en la sección SELECT para encontrar el salario total) y obtenemos el resultado que nos interesa.

La consulta puede parecer compleja, así que veamos la sintaxis general para usar JOIN:

De esta manera, podemos unir tablas y obtener el resultado deseado, incluso si la información está dispersa en múltiples tablas.

Nota

A diferencia de la cláusula UNION, la instrucción JOIN nos permite combinar completamente las tablas, no solo las columnas comunes entre ellas. También es importante señalar que al usar la instrucción JOIN, no necesitamos utilizar subconsultas con cláusulas, como lo hacemos con la cláusula UNION.

Ahora volvamos a la tarea que tenemos entre manos y refuercemos nuestro conocimiento con práctica:

Tarea
test

Swipe to show code editor

Tu tarea es unir las dos tablas: category y product. Las columnas comunes para estas dos tablas son product.category_id y category.id. Tu labor es encontrar el total de productos en cada categoría. Para hacerlo, necesitas calcular la suma de la columna product.amount. ¡Utiliza el alias total_amount para esta columna! Al final de tu consulta, ordena el resultado por la columna total_amount en orden ascendente.

En la respuesta, deberías tener 2 columnas: category.name y total_amount.

¡Buena suerte!

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 1
Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
We're sorry to hear that something went wrong. What happened?
some-alt