학습용 기출·복원자료 분류 확인SQLD · 2024년 54회 SQL 기본 및 활용 · 19번
다음 두 테이블을 ID로 조인하는 SQL 중 문법 오류가 발생하는 것은?
TEAM
ID
COL1
1
A
2
B
3
C
4
D
STADIUM
ID
COL2
1
A
2
B
1
SELECT * FROM TEAM A INNER JOIN STADIUM B ON A.ID = B.ID
오답 이유양쪽 테이블의 ID를 명시적으로 비교하므로 유효한 동등 조인이다. 따라서 1번 보기 ‘SELECT * FROM TEAM A INNER JOIN STADIUM B ON A.ID = B.ID’의 적용 여부를 문제 조건과 대조해야 한다.
2
SELECT * FROM TEAM A INNER JOIN STADIUM B USING(ID)
오답 이유두 테이블에 같은 이름의 ID 열이 있으므로 USING(ID)을 사용할 수 있다. 따라서 2번 보기 ‘SELECT * FROM TEAM A INNER JOIN STADIUM B USING(ID)’의 적용 여부를 문제 조건과 대조해야 한다.
3
SELECT * FROM TEAM A NATURAL JOIN STADIUM B
오답 이유두 테이블의 공통 열 ID를 자동으로 동등 조인하므로 이 구조에서는 실행 가능하다. 따라서 3번 보기 ‘SELECT * FROM TEAM A NATURAL JOIN STADIUM B’의 적용 여부를 문제 조건과 대조해야 한다.
4
SELECT * FROM TEAM A INNER JOIN STADIUM B ON (ID)
정답 근거ON 절에는 `A.ID=B.ID`처럼 참·거짓으로 평가되는 조건식이 필요하다. 열 이름 하나만 괄호 안에 쓰면 유효한 관계 연산자가 없어 오류가 발생한다. 따라서 4번 보기 ‘SELECT * FROM TEAM A INNER JOIN STADIUM B ON (ID)’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 4번
핵심 판단은 4번 ‘SELECT * FROM TEAM A INNER JOIN STADIUM B ON (ID)’입니다. ON 절에는 `A.ID=B.ID`처럼 참·거짓으로 평가되는 조건식이 필요하다. 열 이름 하나만 괄호 안에 쓰면 유효한 관계 연산자가 없어 오류가 발생한다.