DBMS 산술 연산자

1. 연산자 (Operator)

- 예시) 데이터를 조회할 때 SALARY에서 1,000원씩 빼서 조회하겠다 할 때 사용

 

  연산자 종류 :       1. 연결 연산자        2. 산술 연산자      3. 관계 연산자      4. SQL 연산자      5. 논리 연산자

 

2. 산술 연산자

- [  +  ] [  -  ] [  *  ] [  /  ]
- 피연산자에 숫자 타입과 날짜 타입을 사용할 수 있다.
- [  +  ] [  -  ] 연산자에는 DATE 타입도 가능하다.

자료형별 연산 결과(타입)
   숫자와 숫자의 연산  NUMBER
   날짜와 숫자간의 [  +  ] [  -  ]  연산  DATE
(숫자 1 == 1일)
 - 날짜와 날짜간의 [  -  ]  연산 NUMBER

 

 

3. 전체 쿼리문

-----------------------------------------------------------------
-- 산술 연산자
-----------------------------------------------------------------

-- 숫자타입끼리의 산술 연산
SELECT
	SALARY,
	SALARY + 10000,
	SALARY - 1000,
	SALARY * 10,
	SALARY / 10
FROM
	EMPLOYEES;


  
-- 날짜타입간의 산술 연산
-- 날짜값과 숫자값 연산에서는 + , - 만 가능
-- 숫자값 1은 날짜로 1일을 의미한다.
SELECT 
	HIRE_DATE,
	HIRE_DATE + 10,
   	HIRE_DATE - 10
FROM
	EMPLOYEES;

-- 날짜 값과 날짜 값의 연산
-- 결과 : 숫자 타입이다. 
-- sys(tem)date : 현재 날짜와 시간을 반환한다 (오라클 제공) 
SELECT 
	HIRE_DATE,
	SYSDATE,
	SYSDATE - HIRE_DATE
FROM 
	EMPLOYEES;

-----------------------------------------------------------------
-- [실습]
-----------------------------------------------------------------
-- 직원 이름, 봉급, 인상봉급, 감축봉급 조회
-- 인상봉급은 기존 봉급의 10% 증가 , 감축봉급은 기존 봉급의 10% 감소

SELECT
	FIRST_NAME 이름,
	SALARY 봉급,
	SALARY * 1.1 인상봉급,
	SALARY * 0.9 감축봉급
FROM
	EMPLOYEES;

-----------------------------------------------------------------
-- [실습]
-----------------------------------------------------------------
-- 직원의 이름, 시급, 일급, 월급, 연봉을 조회한다. 
-- 이름은 성 + 이름이 연결되어있으며 별칭은 이름으로 설정
-- 현재 나오는 봉급은 시급기준
-- working days: 365days, working hours per day: 8hours
-- 월급은 30일 기준으로 계산

SELECT 
	LAST_NAME ||' '|| FIRST_NAME 이름,
	SALARY 시급,
	SALARY * 8 일급,
	SALARY * 8 * 30 월급,
	SALARY * 8 * 365 연봉
FROM 
	EMPLOYEES;

'DBMS > Oracle DBMS SQL' 카테고리의 다른 글

DBMS SQL 연산자 BETWEEN, IN, ANY, ALL 등등  (0) 2024.02.23
DBMS 관계 연산자 (feat. WHERE 명령문)  (0) 2024.02.23
DBMS 연결 연산자  (0) 2024.02.23
무결성  (0) 2024.02.23
PK, FK, ERD  (0) 2024.02.21