需求描述
现在需要通过EXISTS中的语句来控制查询结果是否存在
第一次实现SQL
SELECT 1 AS ID,SUM(1) FROM (SELECT ID,NAME FROM (VALUES(1,'AA'),(2,'BB')) AS B(ID,NAME)) WHERE EXISTS (SELECT 1 FROM SYSIBM.DUAL WHERE 1=2 )
查询结果
查询出来就发现会存在一条记录
正确的写法
SELECT * FROM (SELECT 1 AS ID,SUM(1) FROM (SELECT ID,NAME FROM (VALUES(1,'AA'),(2,'BB')) AS B(ID,NAME)) ) WHERE EXISTS (SELECT 1 FROM SYSIBM.DUAL WHERE 1=2 )
只有通过这样才能 控制数据,当EXISTS为FLASE的时候,查询为空。