학습용 기출·복원자료 분류 확인SQLD · 2024년 55회 SQL 기본 및 활용 · 42번
`(COL1,COL2) IN (('A',1000),('B',2000))`와 동치인 조건은?
1
(COL1='A' AND COL2=1000) OR (COL1='B' AND COL2=2000)
정답 근거행 값 IN은 같은 괄호 안의 두 값을 한 쌍으로 비교한다. 두 허용 쌍 중 하나와 완전히 일치하면 TRUE다. 따라서 1번 보기 ‘(COL1='A' AND COL2=1000) OR (COL1='B' AND COL2=2000)’의 적용 여부를 문제 조건과 대조해야 한다.
2
COL1 IN ('A','B') AND COL2 IN (1000,2000)
오답 이유A-2000과 B-1000 같은 교차 조합까지 허용한다. 따라서 2번 보기 ‘COL1 IN ('A','B') AND COL2 IN (1000,2000)’의 적용 여부를 문제 조건과 대조해야 한다.
3
COL1='A' OR COL2=1000 OR COL1='B' OR COL2=2000
오답 이유열 하나만 맞아도 통과해 쌍 비교보다 범위가 넓다. 따라서 3번 보기 ‘COL1='A' OR COL2=1000 OR COL1='B' OR COL2=2000’의 적용 여부를 문제 조건과 대조해야 한다.
4
COL1='A' AND COL2=1000 AND COL1='B' AND COL2=2000
오답 이유한 행이 두 서로 다른 쌍을 동시에 만족할 수 없다. 따라서 4번 보기 ‘COL1='A' AND COL2=1000 AND COL1='B' AND COL2=2000’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 1번
핵심 판단은 1번 ‘(COL1='A' AND COL2=1000) OR (COL1='B' AND COL2=2000)’입니다. 행 값 IN은 같은 괄호 안의 두 값을 한 쌍으로 비교한다. 두 허용 쌍 중 하나와 완전히 일치하면 TRUE다.