학습용 기출·복원자료 분류 확인SQLD · 2024년 52회 SQL 기본 및 활용 · 33번
아래의 SQL과 실행 결과가 다른 하나는?
[테이블 생성]
CREATE TABLE T1 (NO NUMBER, COLA VARCHAR2(10));
INSERT INTO T1 VALUES (1, 'AAA');
CREATE TABLE T2 (NO NUMBER, COLB VARCHAR2(10));
INSERT INTO T2 VALUES (1, 'AAA');
INSERT INTO T2 VALUES (2, 'BBB');
COMMIT;
[SQL]
SELECT A.NO, A.COLA, B.COLB
FROM T1 A, T2 B
WHERE B.NO = A.NO;
1
SELECT A.NO, A.COLA, B.COLB FROM T1 A INNER JOIN T2 B ON B.NO = A.NO;
오답 이유‘SELECT A.NO, A.COLA, B.COLB FROM T1 A INNER JOIN T2 B ON B.NO = A.NO;’ 구문은 ‘SELECT NO, A.COLA, B.COLB FROM T1 A JOIN T2 B ON B.NO = A.NO;’과 실행 결과나 적용 조건이 다르다. COLA, B.COLB FROM T1 A JOIN T2 B ON B.NO = A.NO;’이며, 따라서 1번 보기 ‘SELECT A.NO, A.COLA, B.COLB FROM T1 A INNER JOIN T2 B ON B.NO = A.NO;’의 적용 여부를 문제 조건과 대조해야 한다.
2
SELECT NO, A.COLA, B.COLB FROM T1 A JOIN T2 B ON B.NO = A.NO;
정답 근거COLA, B.COLB FROM T1 A JOIN T2 B ON B.NO = A.NO;’이며, 따라서 2번 보기 ‘SELECT NO, A.COLA, B.COLB FROM T1 A JOIN T2 B ON B.NO = A.NO;’의 적용 여부를 문제 조건과 대조해야 한다.
3
SELECT A.NO, A.COLA, B.COLB FROM T1 A, T2 B WHERE B.NO = A.NO;
오답 이유‘SELECT A.NO, A.COLA, B.COLB FROM T1 A, T2 B WHERE B.NO = A.NO;’ 구문은 ‘SELECT NO, A.COLA, B.COLB FROM T1 A JOIN T2 B ON B.NO = A.NO;’과 실행 결과나 적용 조건이 다르다. COLA, B.COLB FROM T1 A JOIN T2 B ON B.NO = A.NO;’이며, 따라서 3번 보기 ‘SELECT A.NO, A.COLA, B.COLB FROM T1 A, T2 B WHERE B.NO = A.NO;’의 적용 여부를 문제 조건과 대조해야 한다.
4
SELECT A.NO, A.COLA, B.COLB FROM T1 A CROSS JOIN T2 B WHERE B.NO = A.NO;
오답 이유‘SELECT A.NO, A.COLA, B.COLB FROM T1 A CROSS JOIN T2 B WHERE B.NO = A.NO;’ 구문은 ‘SELECT NO, A.COLA, B.COLB FROM T1 A JOIN T2 B ON B.NO = A.NO;’과 실행 결과나 적용 조건이 다르다. COLA, B.COLB FROM T1 A JOIN T2 B ON B.NO = A.NO;’이며, 따라서 4번 보기 ‘SELECT A.NO, A.COLA, B.COLB FROM T1 A CROSS JOIN T2 B WHERE B.NO = A.NO;’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 2번
핵심 판단은 2번 ‘SELECT NO, A.COLA, B.COLB FROM T1 A JOIN T2 B ON B.NO = A.NO;’입니다. COLA, B.COLB FROM T1 A JOIN T2 B ON B.NO = A.NO;’이며,