一尘不染

检查记录是否在Oracle中最有效的方法是什么?

sql

一种)

select decode(count(*), 0, 'N', 'Y') rec_exists
from (select 'X'
      from dual
      where exists (select 'X'
                    from sales
                    where sales_type = 'Accessories'));

B)

select decode(count(*), 0, 'N', 'Y') rec_exists
from (select 'X'
      from sales
      where sales_type = 'Accessories');

C)其他(请指定)

编辑:很难选择“正确的”答案,因为最佳方法取决于检查值是否存在之后要执行的操作,如APC所指出的那样。我最终选择了RedFilter作为答案,因为我最初将此项检查本身设想为一个功能。


阅读 125

收藏
2021-03-17

共1个答案

一尘不染

select case 
            when exists (select 1 
                         from sales 
                         where sales_type = 'Accessories') 
            then 'Y' 
            else 'N' 
        end as rec_exists
from dual;
2021-03-17