문제
다음 중 오류가 발생하는 JOIN 구문으로 가장 적절한 것은?
① SELECT * FROM EMPLOYEES A INNER JOIN DEPARTMENTS B ON (DEPARTMENT_ID) WHERE A.DEPARTMENT_ID = 90 ② SELECT * FROM EMPLOYEES A INNER JOIN DEPARTMENTS B ON A.DEPARTMENT_ID = B.DEPARTMENT_ID WHERE A.DEPARTMENT_ID = 90 ③ SELECT * FROM EMPLOYEES A INNER JOIN DEPARTMENTS B USING (DEPARTMENT_ID) WHERE DEPARTMENT_ID = 90 ④ SELECT * FROM EMPLOYEES A NATURAL JOIN DEPARTMENTS B WHERE DEPARTMENT_ID = 90
정답
1번
해설
정답: 1. ON 절에는 A.DEPARTMENT_ID = B.DEPARTMENT_ID처럼 조인 조건식이 와야 하며 단순 컬럼명만 괄호로 쓰는 것은 부적절하다.
오답 풀이
- 1번: ON 절의 조건식이 불완전하여 오류가 발생한다.
- 2번: 명시적 ON 조인 조건이 올바르다.
- 3번: USING 절은 동일 이름 컬럼을 기준으로 조인할 때 사용할 수 있다.
- 4번: NATURAL JOIN은 동일 이름 컬럼을 자동으로 조인 조건으로 사용한다.
보충 개념 ON 절은 논리 조건식을 작성하는 곳이다. USING은 동일한 컬럼명을 괄호 안에 지정하는 별도의 문법이다.