SQL 判断是否有记要

SQL 判断是否有记录
-- 要求逻辑
select a from dagege where ....
有记录返回id; 
无记录,返回 0  

-- 测试表
CREATE TABLE dagege(a VARCHAR2(10), b VARCHAR2(10));
INSERT INTO dagege VALUES('a','b');
INSERT INTO dagege VALUES('a','c');
INSERT INTO dagege VALUES('a','d');
INSERT INTO dagege VALUES('e','f');
INSERT INTO dagege VALUES('e','g');
INSERT INTO dagege VALUES('h','i');
COMMIT;

-- 下面这个有记录能返回数据,但是我做不到无记录返回0,请前辈们帮忙看看
WITH t1 AS 
  (SELECT COUNT(*) AS cnt,t.a 
  FROM dagege t
  WHERE t.b = 'b'
  GROUP BY t.a)
SELECT decode(t1.cnt, 0, '0', t1.a) FROM t1;
------解决思路----------------------
WITH t1 AS 
  (SELECT COUNT(*) AS cnt,t.a 
  FROM dagege t
  WHERE t.b = 'b'
  GROUP BY t.a
union all
select 0,'b' from dual)
SELECT a,sum(cnt) FROM t1 group by a;
简单拿分走人