Operadores para subconsultas multi-registro en sql - oracle sql
Los operadores que podemos usar con una subconsulta que devuelve más de un registro son:
El operador IN: Compara uno o varios valores, con todos los valores que devuelve la subconsulta. La condición se cumple si el valor está dentro de los valores que devuelve la subconsulta. Ejemplo: SELECT * FROM employees WHERE department_id IN [SELECT department_id FROM departments WHERE department_name = "Marketing "].
El operador ANY: Compara uno o varios valores, con cualquiera de los valores que devuelve la subconsulta. La condición se cumple con solo coincidir un valor. Se usa con los operadores aritméticos de comparación: =, <>,, <, >,, <=, >,=. < ANY: Tiene que ser menor que cualquier valor que devuelva la subconsulta. Es decir, menor que el mayor de la subconsulta. Ejemplo: SELECT job_title FROM jobs WHERE max_salary < ANY [SELECT min_salary FROM jobs ].
, ANY: Tiene que ser mayor a cualquiera que devuelva la subconsulta. Es decir, mayor que el menor de la subconsulta. Ejemplo: SELECT job_title FROM jobs WHERE min_salary >, ANY [SELECT max_salary FROM jobs ].
= ANY: Es el equivalente al in. Ejemplo: SELECT department_id, department_name nombre FROM departments WHERE department_id = ANY [select department_id FROM employees].
El operador ALL: Compara uno o varios valores, con todos los valores que devuelve la subconsulta. Da verdadero si todas las comparaciones se cumplen. Se usa con los operadores aritméticos de comparación: =, <>,, <, >,, <=, >,=. >, ALL: Tiene que ser mayor a todos los valores de la subconsulta. Mayor que el mayor valor de la subconsulta.
Ejemplo: SELECT job_title FROM jobs WHERE min_salary >, ALL [SELECT max_salary FROM jobs]. < ALL: Tiene que ser menor a todos los valores de la subconsulta. Menor que el menor de los valores de la subconsulta. Ejemplo: SELECT job_title FROM jobs WHERE max_salary < ALL [SELECT min_salary FROM jobs].
Ejemplos de Operadores para Subconsulta Multi-registro: