举报
630163
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<(SELECT AVG(score) FROM SC) AND EXISTS (SELECT Sno FROM S t2 WHERE SEX='女' and t1.sno = t2.sno)