Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Uso de Subconsultas Internas en la Sección FROM | Subconsultas Anidadas
SQL Intermedio

bookUso de Subconsultas Internas en la Sección FROM

Una subconsulta interna crea una tabla con la que luego realizamos operaciones en la consulta externa.

A partir de esto, podemos concluir que también es posible utilizar una consulta interna dentro de la sección FROM para seleccionar datos de esta tabla.

Consideremos un ejemplo en el que necesitamos trabajar con employees cuyo salary es superior a un cierto valor. Pero en lugar de una cláusula WHERE, utilizaremos una consulta interna:

123456
SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
copy

Hemos creado una nueva tabla utilizando una subconsulta interna con la que podemos trabajar y recopilar información.

Note
Nota

Observe que para una tabla de este tipo, es fundamental proporcionar un alias.

¿Cuándo puede ser útil esto?

Esta consulta es altamente legible; en ocasiones, puede sustituir una cláusula WHERE.

Además, si es necesario trabajar no con toda la tabla sino solo con una parte filtrada, una subconsulta interna en la sección FROM puede ser sumamente útil.

Tarea

Swipe to start coding

Tu tarea es obtener el presupuesto promedio (columna budget) de todos los departamentos gerenciales de la tabla department. Utiliza una subconsulta interna en la sección FROM para filtrar únicamente los departamentos de tipo gerencial. Además, usa el alias manager_departments para esta tabla, ya que es necesario para que la tarea se valide correctamente.

La respuesta debe tener solo una columna, average_budget. Este es un alias para la función de agregación AVG().

Esta tarea también podría resolverse usando una cláusula WHERE, pero aquí utilizamos una consulta anidada para practicar esta sintaxis, que será útil para resolver problemas más complejos en el futuro.

Instrucciones breves

  • Obtener el valor promedio de la columna budget.
  • Asignar el alias average_budget a esa columna.
  • En la cláusula FROM, debes escribir una consulta anidada.
  • En la consulta anidada, selecciona todas las columnas de la tabla department.
  • En la consulta anidada, utiliza la cláusula WHERE con la condición type = 'manager'.
  • Asigna el alias manager_departments a la consulta anidada.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

close

bookUso de Subconsultas Internas en la Sección FROM

Desliza para mostrar el menú

Una subconsulta interna crea una tabla con la que luego realizamos operaciones en la consulta externa.

A partir de esto, podemos concluir que también es posible utilizar una consulta interna dentro de la sección FROM para seleccionar datos de esta tabla.

Consideremos un ejemplo en el que necesitamos trabajar con employees cuyo salary es superior a un cierto valor. Pero en lugar de una cláusula WHERE, utilizaremos una consulta interna:

123456
SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
copy

Hemos creado una nueva tabla utilizando una subconsulta interna con la que podemos trabajar y recopilar información.

Note
Nota

Observe que para una tabla de este tipo, es fundamental proporcionar un alias.

¿Cuándo puede ser útil esto?

Esta consulta es altamente legible; en ocasiones, puede sustituir una cláusula WHERE.

Además, si es necesario trabajar no con toda la tabla sino solo con una parte filtrada, una subconsulta interna en la sección FROM puede ser sumamente útil.

Tarea

Swipe to start coding

Tu tarea es obtener el presupuesto promedio (columna budget) de todos los departamentos gerenciales de la tabla department. Utiliza una subconsulta interna en la sección FROM para filtrar únicamente los departamentos de tipo gerencial. Además, usa el alias manager_departments para esta tabla, ya que es necesario para que la tarea se valide correctamente.

La respuesta debe tener solo una columna, average_budget. Este es un alias para la función de agregación AVG().

Esta tarea también podría resolverse usando una cláusula WHERE, pero aquí utilizamos una consulta anidada para practicar esta sintaxis, que será útil para resolver problemas más complejos en el futuro.

Instrucciones breves

  • Obtener el valor promedio de la columna budget.
  • Asignar el alias average_budget a esa columna.
  • En la cláusula FROM, debes escribir una consulta anidada.
  • En la consulta anidada, selecciona todas las columnas de la tabla department.
  • En la consulta anidada, utiliza la cláusula WHERE con la condición type = 'manager'.
  • Asigna el alias manager_departments a la consulta anidada.

Solución

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 2. Capítulo 3
single

single

some-alt