Oracle
 sql >> Database >  >> RDS >> Oracle

Identificare se esiste almeno una riga con una determinata condizione

Di solito, lo esprimi come entrambi

SELECT COUNT(*)
  FROM employee
 WHERE name like 'kaushik%'
   AND rownum = 1

dove rownum = 1 predicate consente a Oracle di interrompere la ricerca non appena trova la prima riga corrispondente o

SELECT 1
  FROM dual
 WHERE EXISTS( SELECT 1
                 FROM employee
                WHERE name like 'kaushik%' )

dove EXISTS La clausola consente a Oracle di interrompere la ricerca non appena trova la prima riga corrispondente.

Il primo approccio è un po' più compatto ma, a mio avviso, il secondo approccio è un po' più chiaro poiché stai davvero cercando di determinare se esiste una riga particolare piuttosto che provare a contare qualcosa. Ma anche il primo approccio è abbastanza facile da capire.