single
Uso de Subconsultas Internas en la Sección FROM
Desliza para mostrar el menú
Una subconsulta interna crea una tabla con la que luego se realizan operaciones en la consulta externa.
A partir de esto, se puede concluir que también es posible utilizar una consulta interna dentro de la sección FROM para seleccionar datos de esta tabla.
Considera un ejemplo en el que necesitas trabajar con employees cuyo salary es superior a un cierto valor. Pero en lugar de una cláusula WHERE, se debe utilizar una consulta interna:
123456SELECT * FROM ( SELECT * From employees WHERE salary >= 70000 ) AS high_salary_employees
Se ha creado una nueva tabla utilizando una subconsulta interna con la que se puede trabajar y obtener información.
Observa que para una tabla de este tipo, es esencial proporcionar un alias.
¿Cuándo puede ser útil esto?
Este tipo de consulta es muy legible; en ocasiones, puede reemplazar una cláusula WHERE.
Además, si necesitas trabajar no con toda la tabla sino solo con una parte filtrada, una subconsulta interna en la sección FROM puede ser sumamente útil.
Desliza para comenzar a programar
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 solo los departamentos de tipo gerencial. Además, usa el alias manager_departments para esta tabla para que la tarea se verifique correctamente.
La respuesta debe tener solo una columna, average_budget. Este es un alias para la función agregada 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_budgeta 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
WHEREcon la condicióntype = 'manager'. - Asigna el alias
manager_departmentsa la consulta anidada.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla