SQL | Subconsultas en la cláusula From

La cláusula From se puede utilizar para especificar una expresión de subconsulta en SQL. La relación producida por la subconsulta se usa luego como una nueva relación sobre la que se aplica la consulta externa. 
 

  • Las subconsultas en la cláusula from son compatibles con la mayoría de las implementaciones de SQL.
  • Las variables de correlación de las relaciones en la cláusula from no se pueden utilizar en las subconsultas de la cláusula from.

Sintaxis : 

SELECT column1, column2 FROM 
(SELECT column_x  as C1, column_y FROM table WHERE PREDICATE_X)
as table2, table1
WHERE PREDICATE;

Nota : la subconsulta en la cláusula from se evalúa primero y luego los resultados de la evaluación se almacenan en una nueva relación temporal. 
A continuación, se evalúa la consulta externa, seleccionando solo aquellas tuplas de la relación temporal que satisface el predicado en la cláusula where de la consulta externa. 

Consulta

Ejemplo 1 : Encuentre todos los profesores cuyo salario es mayor que el presupuesto promedio de todos los departamentos. 

Relación del instructor
 

InstructorID Nombre Departamento Salario
44547 Herrero Ciencias de la Computación 95000
44541 Factura Eléctrico 55000
47778 Sam Humanidades 44000
48147 erik Mecánico 80000
411547 Melisa Tecnologías de la información 65000
48898 Jena Civil 50000

Relación de departamento
 

Nombre de Departamento Presupuesto
Ciencias de la Computación 100000
Eléctrico 80000
Humanidades 50000
Mecánico 40000
Tecnologías de la información 90000
Civil 60000

Consulta : 
 

select I.ID, I.NAME, I.DEPARTMENT, I.SALARY from
(select avg(BUDGET) as averageBudget from DEPARTMENT) as BUDGET, Instructor as I
where I.SALARY > BUDGET.averageBudget;

Producción 
 

InstructorID Nombre Departamento Salario
44547 Herrero Ciencias de la Computación 95000
48147 erik Mecánico 80000

Explicación : el presupuesto promedio de todos los departamentos de la relación de departamento es 70000. Erik y Smith son los únicos instructores en la relación de instructor cuyo salario es superior a 70000 y, por lo tanto, están presentes en la relación de salida. 

Publicación traducida automáticamente

Artículo escrito por Mayank Kumar 12 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Categories SQL

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *