1. 산술 연산자

연산자 예시
+ SELECT SALARY+500 FROM EMP;
- SELECT SALARY-500 FROM EMP;
* SELECT SALARY*12 FROM EMP;
/ SELECT SALARY/12 FROM EMP;

 

2. 비교 연산자

연산자 예시
= SELECT ENAME, SALARY FROM EMP WHERE SALARY = 1000;
> SELECT ENAME, SALARY FROM EMP WHERE SALARY > 1000;
< SELECT ENAME, SALARY FROM EMP WHERE SALARY < 1000;
>= SELECT ENAME, SALARY FROM EMP WHERE SALARY >= 1000;
<= SELECT ENAME, SALARY FROM EMP WHERE SALARY <= 1000;
!=, <>, ^= SELECT ENAME, SALARY FROM EMP WHERE SALARY != 1000;

 

3. 논리 연산자

연산자 예시
AND SELECT ENAME, SALARY FROM EMP WHERE ENAME = 'KIM' AND SALARY = 1000;
OR SELECT ENAME, SALARY FROM EMP WHERE ENAME = 'KIM' OR SALARY = 1000;
NOT SELECT ENAME, SALARY FROM EMP WHERE NOT SALARY = 1000;

 

4. 기타 연산자

연산자 예시
IN SELECT * FROM EMP WHERE ENAME IN ('KIM', 'LEE');
SELECT * FROM EMP WHERE ENAME NOT IN ('KIM', 'LEE');
BETWEEN SELECT * FROM EMP WHERE SALARY BETWEEN 1000 AND 2000;
SELECT * FROM EMP WHERE SALARY NOT BETWEEN 1000 AND 2000;
LIKE SELECT * FROM EMP WHERE ENMAE LIKE '%M';
SELECT * FROM EMP WHERE ENMAE LIKE 'K_M%';
SELECT * FROM EMP WHERE ENMAE NOT LIKE 'L_E';
IS NULL SELECT * FROM EMP WHERE ENMAE IS NULL;
SELECT * FROM EMP WHERE ENMAE IS NOT NULL;

 

4.1 와일드 카드

종류 설명
_ 어떤 값이든 상관 없이 한 개의 문자 데이터를 의미한다.
% 문자가 없는 경우를 포함하여 길이가 상관 없는 모든 문자 데이터를 의미한다.

 

4.2 와일드 카드 문자가 데이터의 일부일 경우

- ESCAPE를 사용해서 해결할 수 있다.

SELECT *
FROM EMP
WHERE ENAME LIKE 'A\_A%' ESCAPE '\';

 

5. 집합 연산자

연산자 설명
UNION 연결된 SELECT문의 결과 값을 합집합으로 묶어 준다. 결과 값의 중복은 제거된다.
UNION ALL 연결된 SELECT문의 결과 값을 합집합으로 묶어 준다. 결과 값의 중복 제거 없이 모두 출력된다.
MINUS 먼저 작성한 SELECT문의 결과 값에서 다음 SELECT문의 결과 값을 차집합 처리한다.
INTERSECT 먼저 작성한 SELECT문과 다음 SELECT문의 결과 값이 같은 데이터만 출력한다. 교집합과 같다.

 

참고

- 『오라클로 배우는 데이터베이스 입문』

'Database' 카테고리의 다른 글

Oracle 다중행 함수  (0) 2021.10.15
Oracle 단일행 함수  (0) 2021.10.12
Oracle 다중 INSERT  (0) 2021.10.05
Oracle 객체 종류  (0) 2021.10.05
Oracle 데이터 타입  (0) 2021.10.05