다음 시나리오에서 각 쿼리의 결과로 올바른 것은?

과목: MySQL

문제 번호: 3085

hard
다음 시나리오에서 각 쿼리의 결과로 올바른 것은?
-- 테이블 데이터 상황
-- CustomerID=1: Address='Obere Str. 57'
-- CustomerID=2: Address=NULL  
-- CustomerID=3: Address=''  (빈 문자열)
-- CustomerID=4: Address=' '  (공백 문자)

-- 쿼리 A
SELECT COUNT(*) FROM Customers WHERE Address ______ ______;

-- 쿼리 B  
SELECT COUNT(*) FROM Customers WHERE Address ______ ______ ______;
A. 쿼리 A(IS NULL): 1개, 쿼리 B(IS NOT NULL): 3개
B. 쿼리 A(IS NULL): 3개, 쿼리 B(IS NOT NULL): 1개
C. 쿼리 A(= NULL): 1개, 쿼리 B(<> NULL): 3개
D. 쿼리 A(IS NULL): 2개, 쿼리 B(IS NOT NULL): 2개

정답: A



올바른 쿼리들과 결과는 다음과 같습니다:

쿼리 A: WHERE Address IS NULL

⦁ 결과: 1개 (CustomerID=2만 해당)

⦁ NULL과 다른 값들의 구분:
⦁ CustomerID=1: 'Obere Str. 57' → 실제 값 있음
⦁ CustomerID=2: NULL → NULL 값
⦁ CustomerID=3: '' (빈 문자열) → 값 있음 (빈 문자열도 값)
⦁ CustomerID=4: ' ' (공백) → 값 있음 (공백도 값)

쿼리 B: WHERE Address IS NOT NULL

⦁ 결과: 3개 (CustomerID=1, 3, 4)

⦁ NULL이 아닌 모든 값들:
⦁ 실제 주소 문자열
⦁ 빈 문자열 ('')
⦁ 공백 문자 (' ')

💡 학습 팁

이 문제를 포함한 MySQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.