2 분 소요

SQL에서는 산술 연산자를 통해 숫자 데이터를 더하고 빼고 나누는 등의 연산을 할 수 있습니다. 이 글에서는 SQL에서 사용할 수 있는 산술 연산자의 종류, 특징, 우선순위, 실전 예제까지 상세히 설명합니다.


1. SQL 산술 연산자의 종류와 기능

연산자 기능 설명 예제 결과
+ 덧셈 5 + 3 8
- 뺄셈 10 - 7 3
* 곱셈 4 * 6 24
/ 나눗셈 (실수 반환) 20 / 4 5.0
DIV 정수 나눗셈 (몫 반환) 20 DIV 3 6
%, MOD 나머지 반환 20 % 3 2

✅ DIV는 정수 나눗셈, MOD는 나머지 연산에 사용됩니다.


2. 산술 연산자 사용 예제

SELECT
    504.7 + 13 AS Addition,
    504.7 * 0.9 AS Multiplication,
    504.7 / 2 AS Division,
    504.7 DIV 2 AS IntegerDivision,
    504.7 % 2 AS Modulus;
Addition Multiplication Division IntegerDivision Modulus
517.7 454.23 252.35 252 0.7

3. 연산자 우선순위 정리

SQL에서는 여러 연산자가 함께 사용될 경우, 우선순위에 따라 연산이 처리됩니다.

주요 산술 연산자 우선순위 (낮은 숫자가 우선)

우선순위 연산자
6 *, /, DIV, %, MOD
7 +, - (이항)
4 - (단항), !

예제 1: 기본 우선순위

SELECT 10 + 5 * 2 AS Result;
-- 5 * 2 = 10 → 10 + 10 = 20

예제 2: 괄호로 우선순위 변경

SELECT (10 + 5) * 2 AS Result;
-- 10 + 5 = 15 → 15 * 2 = 30

✅ 괄호를 사용하면 연산 순서를 명확히 지정할 수 있습니다.


4. 참고 사항과 실전 팁

4.1. DIV와 MOD 차이

연산 결과
10 DIV 3 3 (몫)
10 MOD 3 1 (나머지)
SELECT 10 DIV 3 AS Quotient, 10 MOD 3 AS Remainder;

4.2. 실수 나눗셈

SELECT 5 / 2 AS Result; -- 결과: 2.5 (소수 포함)

4.3. NULL 값 주의

연산 중 NULL이 포함되면 결과도 NULL이 됩니다.

SELECT 10 + NULL AS Result; -- 결과: NULL

4.4. 복잡한 계산 시 괄호 활용

SELECT (100 + 200) * (5 - 2) AS Total; -- 결과: 900

5. 요약 정리

항목 설명
지원 연산자 +, -, *, /, DIV, MOD, %
실수 나눗셈 / 사용, 결과는 소수 포함
정수 나눗셈 DIV 사용, 소수점 제거
나머지 연산 % 또는 MOD 사용
우선순위 *, /, DIV > +, -
괄호 사용 복잡한 계산에서는 ()로 연산 순서 명확화
NULL 연산 결과도 NULL이므로 연산 전 체크 필요

질문 정리

  1. DIV와 /의 차이점은 뭔가요?
    • /는 소수 포함 실수 나눗셈, DIV소수점 이하를 버리고 정수만 반환합니다.
  2. MOD와 %는 같은가요?
    • 네, 동일하게 나머지 값을 반환합니다. 사용 환경에 따라 둘 중 하나를 선택하세요.
  3. 산술 연산에서 문자열을 사용하면 어떻게 되나요?
    • 문자열이 숫자로 변환 가능한 경우 자동 변환되지만, 명시적 변환이 안전합니다.
  4. NULL 값이 포함된 연산을 피하려면?
    • IFNULL(값, 대체값) 또는 COALESCE() 함수로 NULL을 처리할 수 있습니다.
  5. DIV 결과를 소수로 받으려면?
    • DIV는 정수만 반환하므로 / 연산자를 사용해야 합니다.

카테고리:

업데이트:

댓글남기기