1. 핵심 원리
IS NULL
연산자는 SQL에서 특정 컬럼의 값이 NULL인지 확인할 때 사용됩니다. NULL은 값이 없음을 나타내며, 일반적인 비교 연산자(=, != 등)로는 비교할 수 없습니다. 따라서 NULL 값을 검색할 때는 IS NULL
이나 IS NOT NULL
을 사용해야 합니다.
2. 실무에서 쓰이는 이유
데이터베이스에서 데이터가 누락된 경우를 처리하거나, 특정 컬럼에 값이 입력되지 않은 레코드를 조회해야 하는 상황이 자주 발생합니다. 이때 IS NULL
연산자를 사용하여 이러한 레코드를 쉽게 필터링할 수 있습니다.
3. 실무에서 구체적으로 사용되는 상황과 예상 상황 예측
- 상황 예시 1: 고객 테이블에서 이메일 주소가 등록되지 않은 고객 목록을 조회하고자 할 때.
- 상황 예시 2: 주문 테이블에서 아직 배송되지 않은 주문, 즉 배송일자가 NULL인 주문을 조회할 때.
4. 연습 문제
EMP 테이블에서 커미션(COMM)이 NULL인 사원들의 이름(ENAME)과 커미션(COMM) 값을 출력하는 SQL 문을 작성해보세요.
SELECT ename, comm
FROM emp
WHERE comm IS NULL;
5. 연습문제 해답
위에 제공된 SQL 문이 연습문제에 대한 답입니다. 이 SQL 문은 EMP 테이블에서 커미션 값이 NULL인 사원들의 이름과 커미션을 출력합니다.
6. 응용 문제
CUSTOMER 테이블에서 전화번호(PHONE)가 NULL인 고객들의 이름(CUSTOMER_NAME)과 이메일(EMAIL)을 출력하는 SQL 문을 작성해보세요.
SELECT customer_name, email
FROM customer
WHERE phone IS NULL;
7. 응용문제 해답
응용 문제에 대한 SQL 답안은 위와 같습니다. 이 SQL 문은 CUSTOMER 테이블에서 전화번호가 NULL인 고객들의 이름과 이메일을 출력합니다.
8. 전자상거래 업계에서 쓰일 수 있는 경우 2가지 및 SQL 코드
- 경우 1: 이메일 미등록 고객 확인
- 상황: 이메일 주소가 등록되지 않은 고객들을 확인하고 연락을 취하고자 할 때.
- SQL 코드:
SELECT customer_id, customer_name FROM customers WHERE email IS NULL;
- 경우 2: 결제 정보 누락된 주문 확인
- 상황: 결제 정보가 누락된 주문을 찾아내어 결제를 완료하도록 조치할 때.
- SQL 코드:
sql SELECT order_id, customer_id FROM orders WHERE payment_status IS NULL;
9. SQL 코드 시각화 예시 테이블
첫 번째 경우 (이메일 미등록 고객 확인)
Customer ID | Customer Name |
---|---|
1001 | John Doe |
1003 | Jane Smith |
두 번째 경우 (결제 정보 누락된 주문 확인)
Order ID | Customer ID |
---|---|
2001 | 1001 |
2003 | 1003 |