iberck
10/1/2015 - 7:11 PM

SQL Exist

SQL Exist

EXISTS

EXISTS verifica si la consulta interna arroja alguna fila. Si lo hace, entonces la consulta externa procede. De no hacerlo, la consulta externa no se ejecuta, y la totalidad de la instrucción SQL no arroja nada.

Puede verlo como si EXIST retorna 1 (true) si una consulta tiene resultados o 0 (false) si no tiene resultados, por lo tanto WHERE 1 ejecuta el query externo y WHERE 0 no lo ejecuta.

SELECT "nombre1_columna"
FROM "nombre1_tabla"
WHERE EXISTS 
(SELECT * 
FROM "nombre2_tabla"
WHERE "Condición");