问题描述
- oracle数据库,使用exist时,那个占位符有什么要求吗
-
为什么这两条语句返回的结果不一样
1.SELECT dname
FROM dept d
WHERE NOT EXISTS(SELECT'1' FROM emp WHERE deptno=d.deptno);2.SELECT dname
FROM dept d
WHERE NOT EXISTS(SELECT count(empno) FROM emp WHERE deptno=d.deptno);
解决方案
count(empno)
即使没有符合条件的记录也会返回0
的。
而EXISTS
只判断有没有返回,所以2这句 NOT EXISTS 是始终为假的。
时间: 2024-12-10 19:46:14