SQL - 문제 미리보기
문제 1730
hard
다음 쿼리에서 빈칸에 들어갈 올바른 연산자는?
```sql
SELECT ProductName, Price FROM Products
WHERE CategoryID ______ (SELECT CategoryID FROM Categories
WHERE CategoryName = 'Electronics'
OR CategoryName = 'Books');
```
목적: Electronics 또는 Books 카테고리에 속한 상품들을 조회
정답: B
서브쿼리가 여러 값을 반환하는 경우 IN 연산자를 사용해야 합니다.
IN 연산자의 특징:
• 다중 값 비교: 하나의 값이 여러 값 목록 중 하나와 일치하는지 확인
• 서브쿼리 지원: 서브쿼리 결과와 비교 가능
• OR 조건의 축약: 여러 개의 OR 조건을 간단히 표현
실행 과정:
1. 서브쿼리 실행:
```sql
SELECT CategoryID FROM Categories
WHERE CategoryName = 'Electronics' OR CategoryName = 'Books'
-- 결과 예: [1, 3] (Electronics=1, Books=3)
```
2. 메인 쿼리 실행:
```sql
SELECT ProductName, Price FROM Products
WHERE CategoryID IN (1, 3)
-- CategoryID가 1 또는 3인 상품들 조회
```
💡 학습 팁
이 문제를 포함한 SQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.