PorMyWebStudies
Concepto de subconsultas en sql - oracle sql
Una subconsulta es una consulta anidada dentro de otra consulta. La consulta principal [padre] utiliza los resultados devueltos por la subconsulta para realizar comparaciones, mostrar datos, entre otros.
Existen tres formas principales de utilizar una subconsulta:
SELECT con el mismo formato y reglas que cualquier otra consulta, y se coloca entre paréntesis.Las subconsultas pueden usarse en:
SELECT employee_id, first_name, [SELECT department_id FROM job_history jh WHERE jh.employee_id = e.employee_id] departamento FROM employees e.En la cláusula FROM:
SELECT COUNT [*] FROM [SELECT * FROM employees WHERE department_id = 90].En la cláusula WHERE:
SELECT * FROM job_history WHERE job_id IN [SELECT job_id FROM jobs WHERE job_title = 'Programmer'].En la cláusula HAVING:
SELECT department_id "id departamento", COUNT [*] "total empleados" FROM employees GROUP BY department_id HAVING COUNT [*] = [SELECT max [COUNT [*]] FROM employees GROUP BY department_id].Orden de ejecución:
Características de una subconsulta:
ORDER BY, ya que los resultados no son visibles para el usuario final.Utilización de subconsultas:
SELECT department_id, AVG[salary] "salario medio" FROM employees GROUP BY department_id HAVING AVG[salary] > [SELECT AVG[salary] FROM employees].Para generar tablas temporales:
SELECT COUNT [*] FROM [SELECT * FROM employees WHERE id_departamento = 90].Para sentencias DML:
UPDATE employees SET salary = salary + 2000 WHERE job_id IN [SELECT job_id FROM jobs WHERE job_title = 'Programmer'].Ejemplos de subconsultas:

