sql >> Database >  >> RDS >> Oracle

Identificeer of er ten minste één rij met een bepaalde voorwaarde bestaat

Gewoonlijk zou je dit uitdrukken als ofwel

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

waarbij het rownum = 1 predikaat stelt Oracle in staat te stoppen met zoeken zodra het de eerste overeenkomende rij vindt of

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

waar de EXISTS clausule stelt Oracle in staat om te stoppen met zoeken zodra het de eerste overeenkomende rij vindt.

De eerste benadering is iets compacter, maar naar mijn mening is de tweede benadering een beetje duidelijker, omdat je echt wilt bepalen of een bepaalde rij bestaat in plaats van iets te proberen te tellen. Maar de eerste benadering is ook vrij eenvoudig te begrijpen.



  1. SQL Server VOOR ELKE lus

  2. Waarom gedraagt ​​UNION ALL met en zonder haakjes zich anders?

  3. Wat is het punt van NOT NULL DEFAULT ''?

  4. Nieuwe installatie van python 3.7 / django 2.2.1 herkent niet dat mysqlclient is geïnstalleerd