문제
다음 조건과 동일한 의미로 가장 적절한 것은?
SQLWHERE (COL1, COL2) IN ((1, 3), (1, 4))
① WHERE COL1 = 1 AND COL2 IN (3, 4) ② WHERE COL1 IN (1, 3) AND COL2 IN (1, 4) ③ WHERE COL1 = 3 AND COL2 = 4 ④ WHERE COL1 = 1 OR COL2 IN (3, 4)
정답
1번
해설
정답: 1. (COL1, COL2)가 (1,3) 또는 (1,4)인 경우이므로 COL1 = 1이고 COL2가 3 또는 4인 조건과 같다.
오답 풀이
- 1번: 두 튜플 조건을 정확히 단순화한 표현이다.
- 2번: 원하지 않는 조합까지 포함할 수 있다.
- 3번: 튜플 조건과 전혀 다르다.
- 4번: OR 때문에 COL1이 1인 모든 행 또는 COL2가 3,4인 모든 행을 포함할 수 있다.
보충 개념 다중 컬럼 IN은 컬럼 조합 단위로 비교한다. 각 컬럼별 IN 조건으로 무조건 분해하면 잘못된 조합이 포함될 수 있다.