본문 바로가기
기획자가 알아야 할 IT지식/기획자가 알아야 할 SQL

7강. 산술 연산자(+,-,x,/)를 통해 SQL문 작성하기

by 일잘러로 살기 2025. 3. 21.

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으로 변환해 정상적인 연산 가능!


📝 정리

  1. +, -, *, / 같은 산술 연산자를 사용하면 숫자 연산 가능
  2. NULL 값이 포함되면 산술 연산 결과도 NULL이 됨
  3. NVL(컬럼명, 대체값) 을 사용하면 NULL 값을 특정 값(예: 0)으로 변환 가능