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 podemos utilizar una consulta interna dentro de la sección FROM para seleccionar algo de esta tabla.

Consideremos un ejemplo donde 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.

Nota

Observe que para una tabla de este tipo, es esencial 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 dentro de la sección FROM puede resultar 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 para que la tarea se evalúe correctamente.

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

Nota

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

Awesome!

Completion rate improved to 4

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 podemos utilizar una consulta interna dentro de la sección FROM para seleccionar algo de esta tabla.

Consideremos un ejemplo donde 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.

Nota

Observe que para una tabla de este tipo, es esencial 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 dentro de la sección FROM puede resultar 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 para que la tarea se evalúe correctamente.

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

Nota

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!

close

Awesome!

Completion rate improved to 4
Sección 2. Capítulo 3
single

single

some-alt