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

Identificer, om der findes mindst én række med en given betingelse

Normalt vil du udtrykke dette som enten

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

hvor rownum = 1 prædikat tillader Oracle at stoppe med at lede, så snart det finder den første matchende række eller

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

hvor EXISTS klausulen tillader Oracle at stoppe med at lede, så snart den finder den første matchende række.

Den første tilgang er en smule mere kompakt, men for mit øje er den anden tilgang en smule mere klar, da du virkelig søger at afgøre, om en bestemt række eksisterer i stedet for at forsøge at tælle noget. Men den første tilgang er også ret nem at forstå.



  1. Postgres kan ikke lytte til en bestemt IP-adresse

  2. Sequelize upsert() opdaterer aldrig og indsætter kun

  3. Hjælp os med at få IDE moderniseret i MS Access – din stemme tæller!

  4. Forskellen mellem mysql_fetch_array og mysql_fetch_row?