학습용 기출·복원자료 분류 확인SQLD · 2023년 49회 SQL 기본 및 활용 · 36번
TAB1.NAME과 TAB2.RULE을 `NAME LIKE RULE`로 결합했을 때 옳은 설명은?
TAB1
ID
NAME
1
SMITH
2
ALICE
3
SCOTT
TAB2
ID
RULE
1
S%
2
%T%
DBMS: Oracle
SELECT * FROM TAB1 A, TAB2 B
WHERE A.NAME LIKE B.RULE;
1
각 RULE 패턴에 맞는 NAME 조합만 반환된다.
정답 근거쉼표 조인 뒤 WHERE의 LIKE 조건이 두 테이블 조합을 필터링한다. `S%`는 S로 시작하는 이름을, `%T%`는 T를 포함하는 이름을 선택한다. 따라서 1번 보기 ‘각 RULE 패턴에 맞는 NAME 조합만 반환된다.’의 적용 여부를 문제 조건과 대조해야 한다.
2
두 테이블의 같은 ID끼리만 결합된다.
오답 이유SQL에 ID 동등 조건이 없으므로 ID가 같다는 이유만으로 조합을 제한하지 않는다. 따라서 2번 보기 ‘두 테이블의 같은 ID끼리만 결합된다.’의 적용 여부를 문제 조건과 대조해야 한다.
3
TAB2의 첫 번째 RULE만 사용된다.
오답 이유각 TAB2 행이 후보 조합에 참여하므로 두 패턴이 모두 평가된다. 따라서 3번 보기 ‘TAB2의 첫 번째 RULE만 사용된다.’의 적용 여부를 문제 조건과 대조해야 한다.
4
LIKE 오른쪽에는 열을 사용할 수 없어 오류가 난다.
오답 이유LIKE의 패턴은 문자열 리터럴뿐 아니라 문자형 열 표현식도 사용할 수 있다. 따라서 4번 보기 ‘LIKE 오른쪽에는 열을 사용할 수 없어 오류가 난다.’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 1번
핵심 판단은 1번 ‘각 RULE 패턴에 맞는 NAME 조합만 반환된다.’입니다. 쉼표 조인 뒤 WHERE의 LIKE 조건이 두 테이블 조합을 필터링한다. `S%`는 S로 시작하는 이름을, `%T%`는 T를 포함하는 이름을 선택한다.