DBMS/Oracle SQL

DBMS 산술 연산자

따`ddah 2024. 2. 23. 22:35

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;
728x90