SQL에서는 +, -, *, / 같은 산술 연산자를 사용해서 숫자 데이터를 연산할 수 있어.
이번 강의에서는 기본적인 산술 연산과 함께 NULL 값이 연산에 미치는 영향과 해결 방법(NVL 함수)까지 알아볼게!
✅ 1. 기본적인 산술 연산자 사용법
우선, 예제 테이블을 보자.
📌 예제 테이블 (products)
이제 이 테이블을 이용해서 각 연산자를 적용해볼게!
✅ 2. 더하기 연산 (+)
더하기 연산은 보통 가격(price)과 부가세, 또는 추가 비용 등을 합산할 때 사용해.
📌 할인 전 원래 가격(가격 + 할인액) 계산
sql
복사편집
SELECT name, price, discount, (price + discount) AS original_price
FROM products;
📌 실행 결과

✅ NULL 값(discount)이 포함된 데이터는 연산 결과도 NULL이 되는 문제 발생!
이 부분은 NVL 함수로 해결할 수 있어! (뒤에서 설명할게!)
✅ 3. 빼기 연산 (-)
빼기 연산은 할인 후 가격을 계산하거나, 특정 값 차이를 구할 때 사용해.
📌 할인 후 실제 결제 금액(가격 - 할인액) 계산
SELECT name, price, discount, (price - discount) AS final_price
FROM products;
📌 실행 결과
✅ NULL 값이 있는 경우 계산이 불가능한 문제 발생!
✅ 4. 곱하기 연산 (*)
곱하기 연산은 총 가격을 구하거나, 특정 값을 배수로 증가시킬 때 사용해.
📌 상품별 총 금액(가격 × 수량) 계산
SELECT name, price, quantity, (price * quantity) AS total_price
FROM products;
📌 실행 결과

✅ 곱하기는 NULL 값이 없으면 정상적으로 동작!
✅ 5. 나누기 연산 (/)
나누기 연산은 평균값 계산이나 비율을 구할 때 사용해.
📌 할인율(할인액 ÷ 가격) 계산
SELECT name, price, discount, (discount / price) * 100 AS discount_rate
FROM products;
📌 실행 결과

✅ NULL 값이 포함되면 결과가 NULL이 되는 문제 발생!
✅ 6. NULL 값이 있을 때 문제점 & 해결 방법 (NVL 함수)
📌 NULL 값이 있을 때 문제점
- NULL 값이 포함된 경우 산술 연산 결과도 NULL이 되어버림
- 할인 금액이 NULL이면, 결과값도 계산되지 않음
📌 해결 방법 → NVL 함수 사용하기
NVL(컬럼명, 대체값)을 사용하면 NULL을 특정 값으로 변환할 수 있어!
📌 NULL 값을 0으로 대체해서 정상적으로 계산하기
SELECT name, price, NVL(discount, 0) AS discount,
(price - NVL(discount, 0)) AS final_price
FROM products;
📌 실행 결과
✅ NVL을 사용하면 NULL을 0으로 변환해 정상적인 연산 가능!
📝 정리
- +, -, *, / 같은 산술 연산자를 사용하면 숫자 연산 가능
- NULL 값이 포함되면 산술 연산 결과도 NULL이 됨
- NVL(컬럼명, 대체값) 을 사용하면 NULL 값을 특정 값(예: 0)으로 변환 가능
'기획자가 알아야 할 IT지식 > 기획자가 알아야 할 SQL' 카테고리의 다른 글
9강. 패턴이 일치하는 값을 검색하는 방법 - LIKE 연산자 (0) | 2025.03.22 |
---|---|
8강. 비교 연산자를 활용한 데이터 필터링 (0) | 2025.03.21 |
6강. 조건을 통해 데이터를 찾는 법 (WHERE 절) (0) | 2025.03.21 |
5강. 데이터를 정렬해서 출력하기 (ORDER BY) (0) | 2025.03.20 |
4강. 중복된 데이터를 제거해서 출력하기 (DISTINCT vs UNIQUE) (0) | 2025.03.20 |