본문 바로가기
Database/Oracle

[Oracle/SQL] SQL 산술식 (Null 산술)

by 챠챠12 2020. 7. 13.

- 산술 연산자(+, -, *, /)를 사용하여  숫자 및 날짜 데이터로 표현식을 작성할 수 있습니다.

 

- FROM 절을 제외한 SQL 문의 모든 절에서 사용 가능합니다.

 

(단, DATE 및 TIMESTAMP 데이터 유형은 더하기/빼기 연산자만 사용 가능합니다.)

 

 < 우선 순위 규칙 >

1. * , / 는 +, - 보다 먼저 수행한다.

2. 동일한 우선순위를 갖는 연산자는 왼쪽에서 오른쪽 순으로 수행한다.

3. 괄호는 기본 우선 순위를 재정의 하거나 표현식을 정확히 하기 위해 사용한다.

 

SELECT ENAME, SAL, 10 * SAL + 200
FROM EMP;

 

SELECT ENAME, SAL, (10 * SAL) + 200
FROM EMP;

 

  

첫번째 쿼리와 두번째 쿼리의 결과는 동일합니다.

첫번째 쿼리는 + 보다 * 의 우선순위가 높으므로 먼저 수행되는 것을 알 수 있습니다.

두번째 쿼리는 첫번째 쿼리의 표현식을 정확하기 위해 괄호를 사용했다는 것을 알 수 있습니다.

 

SELECT ENAME, SAL,  10 * (SAL + 200)
FROM EMP;

 

 

괄호를 사용해 실행순서를 원하는 대로 바꿔 실행할 수 있습니다.

괄호 때문에 +가 * 보다 우선순위가 높아 먼저 수행 되었다는 것을 알 수 있습니다.

 

 

Null 값 정의

: 아직 정의되지 않은 값으로 0 이나 공백과는 다릅니다.

 

- Null 값을 포함하는 산술식의 값은 항상 Null 값이 나옵니다.

 

SELECT ENAME, SAL, COMM, SAL*COMM 
FROM EMP

WHERE COMM IS NULL;

 

 

숫자와 Null 값 산술 연산 시 Null 값이 나오는 것을 알 수 있습니다.

LIST

댓글