SQL EXISTS para comprobar si existe un registro en una tabla

EXISTS se usa para comprobar si un registro existe en una subconsulta.

El operador EXISTS devuelve los registros que se encuentran en la subconsulta cuando esta devuelve uno o más registros.


Sintaxis del operador EXIST

SELECT nombre_columna(s)
FROM nombre_tabla
WHERE EXISTS
(SELECT nombre_columna 
 FROM nombre_tabla 
 WHERE condicion);

Ejemplo del operador exist

La siguiente instrucción SQL devuelve registros de los cuando el precio del producto es superior a 50:

SELECT Nombre_Proveedor 
FROM Proveedores 
WHERE EXISTS  
(SELECT Nombre_Producto   
FROM Productos  
WHERE Proveedor_Id = Proveedores.Proveedor_Id   
AND Precio > 50); 

En el segundo ejemplo del operador exist, devuelve valores cuando el precio es igual a 30.

SELECT Nombre_Proveedor
FROM Proveedores
WHERE EXISTS 
(SELECT Nombre_Producto 
 FROM Productos 
 WHERE ProveedorId = Proveedores.ProveedorId 
 AND Precio = 30);