Oracle
 sql >> база данни >  >> RDS >> Oracle

Идентифицирайте дали съществува поне един ред с дадено условие

Обикновено бихте изразили това като

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

където rownum = 1 предикатът позволява на Oracle да спре да търси веднага щом намери първия съответстващ ред или

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

където EXISTS клауза позволява на Oracle да спре да търси веднага щом намери първия съответстващ ред.

Първият подход е малко по-компактен, но според мен вторият подход е малко по-ясен, тъй като наистина търсите да определите дали определен ред съществува, вместо да се опитвате да преброите нещо. Но първият подход също е доста лесен за разбиране.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JOIN Проблем:Коригирайте SQL оператора за решаване:ORA-01799:колона може да не е външно свързана с подзаявка

  2. Преобразуване от ANSI към Oracle Join Syntax

  3. Как да принудим Pascal case с поддръжката на Entity Framework на Oracle?

  4. Алтернативен метод на глобалните временни таблици за Oracle Stored Procedure

  5. Изберете от комбиниран изглед с конкатенация, която не работи?