Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Identifizieren Sie, ob mindestens eine Zeile mit einer bestimmten Bedingung vorhanden ist

Üblicherweise würden Sie dies als entweder

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

wobei rownum = 1 Prädikat ermöglicht es Oracle, die Suche zu beenden, sobald es die erste übereinstimmende Zeile oder

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

wo der EXISTS -Klausel ermöglicht es Oracle, die Suche zu beenden, sobald die erste übereinstimmende Zeile gefunden wird.

Der erste Ansatz ist etwas kompakter, aber meiner Meinung nach ist der zweite Ansatz etwas klarer, da Sie wirklich versuchen, festzustellen, ob eine bestimmte Zeile existiert, anstatt zu versuchen, etwas zu zählen. Aber auch der erste Ansatz ist ziemlich einfach zu verstehen.