作业帮 > 综合 > 作业

SQL问题:我想知道在题中什么时候使用in,什么时候用exists,他俩有什么区别

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/06/08 16:14:42
SQL问题:我想知道在题中什么时候使用in,什么时候用exists,他俩有什么区别
例:把低于平均分的女生的成绩提高5%
UPDATE SC
SET score=score*1.05
WHERE score
= 右边为单值
in 右边为多值(或单值)
再问: 如果把in改成exists,结果一样吗?
再答: EXISTS 是判断是否存在,和in类似,但效率要比in高。例如 : SELECT * FROM EMP (基础表) WHERE EMPNO > 0 AND EXISTS (SELECT ‘X' FROM DEPT WHERE DEPT.DEPTNO = EMP.DEPTNO AND LOC = ‘MELB') SELECT * FROM EMP (基础表) WHERE EMPNO > 0 AND DEPTNO IN(SELECT DEPTNO FROM DEPT WHERE LOC = ‘MELB') 所以,in 直接改成 exists不可以。 UPDATE SC t1 SET score=score*1.05 WHERE score