SQL - 문제 미리보기
문제 1628
hard
다음 상황에서 가장 적절한 SQL 문은?
상황: 전체 고객이 91명이고, 주문한 적이 있는 고객이 74명이라면, 주문한 적이 없는 고객은 17명입니다. 이를 확인하는 쿼리를 작성하려고 합니다.
상황: 전체 고객이 91명이고, 주문한 적이 있는 고객이 74명이라면, 주문한 적이 없는 고객은 17명입니다. 이를 확인하는 쿼리를 작성하려고 합니다.
정답: B
문제 상황 분석:
• 목표: 주문한 적이 없는 고객 수 확인 (17명인지 검증)
• 조건: 전체 91명 - 주문 고객 74명 = 미주문 고객 17명
각 선택지 분석:
선택지 1:
```sql
SELECT COUNT(*) FROM Customers
WHERE CustomerID IN (SELECT CustomerID FROM Orders);
```
의미: 주문한 적이 있는 고객 수
결과: 74명 (문제에서 구하려는 값이 아님)
선택지 2 (정답):
```sql
SELECT COUNT(*) FROM Customers
WHERE CustomerID NOT IN (SELECT CustomerID FROM Orders);
```
의미: 주문한 적이 없는 고객 수
결과: 17명 (문제에서 확인하려는 값) ✓
선택지 3:
```sql
SELECT COUNT(*) FROM Orders
WHERE CustomerID IN (SELECT CustomerID FROM Customers);
```
의미: 유효한 고객의 주문 수 (주문 건수)
결과: 주문 테이블의 레코드 수 (고객 수가 아님)
선택지 4:
```sql
SELECT COUNT(*) FROM Orders
WHERE CustomerID NOT IN (SELECT CustomerID FROM Customers);
```
의미: 존재하지 않는 고객의 주문 수
결과: 0건 (데이터 무결성이 유지된다면)
💡 학습 팁
이 문제를 포함한 SQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.