다음 중 아래 두 SQL문에 대한 설명으로 가장 적절한 것은? (단, DEPT : EMP = 1 : M)
------------------------------------- 아 래 ---------------------------------------
SELECT A.ENAME, A.SAL, B.DNAME
FROM EMP A, DEPT B
WHERE A.DEPTNO = B.DEPTNO
AND B.DEPTNO = 20;
SELECT A.ENAME, A.SAL, B.DNAME
FROM EMP A, DEPT B
WHERE A.DEPTNO = 20
AND B.DEPTNO = 20;
------------------------------------------------------------------------------------------
① 두번째 SQL문은 배치쿼리 시 유리하다.
② 두 SQL문의 수행속도는 현저한 차이가 난다.
③ 두 SQL문의 결과는 동일하다.
④ 옵티마이저 모드나 버전에 따라 다른 결과가 나올 수 있다.
[출처] http://www.dbguide.net/da.db?cmd=snb9_4_view&boardUid=165468&boardConfigUid=81
* 정답 및 해설 *
정답 : ③
b.deptno = 20이고 a.deptno = b.deptno이므로 a.deptno = 20이다. 따라서 위 두 SQL의 처리 결과는 동일하다.
DEPT : EMP = 1 : M 구조라 EMP만큼 DATA 가져옴 (DEPT : EMP = 1 : M 이 아니더라도 CROSS JOIN으로 가져오므로 결과는 같음)