Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Identifique se existe pelo menos uma linha com determinada condição


Normalmente, você expressaria isso como
SELECT COUNT(*)
  FROM employee
 WHERE name like 'kaushik%'
   AND rownum = 1

onde o rownum = 1 predicado permite que o Oracle pare de procurar assim que encontrar a primeira linha ou
SELECT 1
  FROM dual
 WHERE EXISTS( SELECT 1
                 FROM employee
                WHERE name like 'kaushik%' )

onde o EXISTS cláusula permite que o Oracle pare de procurar assim que encontrar a primeira linha correspondente.

A primeira abordagem é um pouco mais compacta, mas, a meu ver, a segunda abordagem é um pouco mais clara, pois você realmente está procurando determinar se uma linha específica existe em vez de tentar contar algo. Mas a primeira abordagem é muito fácil de entender também.