Existe otro operador de subconsulta con el que la subconsulta puede devolver más de una columna, el operador EXISTS.
En este caso la sintaxis es algo diferente:
WHERE [NOT] EXISTS subconsulta
No se realiza ninguna comparación con los valores devueltos por la subconsulta, simplemente se evalúa si la subconsulta devuelve alguna fila, en este caso EXISTS será True y si la subconsulta no devuelve ninguna fila, EXISTS será False.
Ejemplo:
SELECT * FROM empleados WHERE EXISTS (SELECT * FROM pedidos WHERE numemp = rep and fab ='ACI');
Obtenemos los empleados que tengan un pedido del fabricante ACI. Por cada empleado, se calcula la subconsulta (obteniendo los pedidos de ese empleado y con fabricante ACI), si existe alguna fila, el empleado sale en el resultado, si no, no sale.
Cuando se utiliza el operador EXISTS es muy importante añadir una referencia externa, no es obligatorio pero en la mayoría de los casos será necesario. Veámoslo con ese mismo ejemplo, si quitamos la referencia externa:
SELECT * FROM empleados WHERE EXISTS (SELECT * FROM pedidos WHERE fab ='ACI');
Sea el empleado que sea, la subconsulta siempre devolverá filas (si existe algún pedido cuyo fabricante sea ACI) o nunca, indistintamente del empleado que sea, por lo que se obtendrán todos los empleados o ninguno para que el resultado varíe según las filas de la consulta externa habrá que incluir una referencia externa.
Otra cosa a tener en cuenta es que la lista de selección de una subconsulta que se especifica con EXISTS casi siempre consta de un asterisco (*). No hay razón para enumerar los nombres de las columnas porque no se van a utilizar y supone un trabajo extra para el sistema.
Si utilizamos NOT EXISTS el resultado será el contrario.
SELECT * FROM empleados WHERE NOT EXISTS (SELECT * FROM pedidos WHERE fab ='ACI' AND rep=numemp);
Devuelve los empleados que no tienen ningún pedido de ACI.
Para practicar puedes realizar este Ejercicio Subconsultas con EXISTS.
![]() |
![]() |
Síguenos en: Facebook Sobre aulaClic Política de Cookies
© aulaClic S.L. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.