sql >> Databasteknik >  >> RDS >> Oracle

Identifiera om det finns minst en rad med ett givet villkor

Vanligtvis skulle du uttrycka detta som antingen

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

där rownum = 1 predikat tillåter Oracle att sluta leta så snart den hittar den första matchande raden eller

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

där EXISTS satsen tillåter Oracle att sluta leta så snart den hittar den första matchande raden.

Det första tillvägagångssättet är lite mer kompakt men för mitt öga är det andra tillvägagångssättet lite tydligare eftersom du verkligen vill avgöra om en viss rad existerar snarare än att försöka räkna något. Men det första tillvägagångssättet är också ganska lätt att förstå.



  1. PSQLEundantag:Kolumnnamnet clazz_ hittades inte i denna resultatuppsättning

  2. Vad står TX- och XID-fraktioner för i postgres pgadmin-verktyget

  3. Välja en slumpmässig rad i Oracle

  4. Hur kan jag behålla en unik identifierare bland flera databastabeller?