[Oracle] 산술/비교/논리 연산자
연산자의 종류
- 산술 연산자 : *, /, +, -
- 비교 연산자 : 〉, 〈, 〉=, 〈=, =, !=, 〈〉, ^=
- 기타 비교 연산자 : between … and, like, is null, in
- 논리 연산자 : and, or, not
1. 산술 연산자
예제. 이름과 연봉(sal*12) 을 출력
select ename, sal*12
from emp;
2. 비교 연산자
예제 1. 월급이 2,700 이상인 사원들의 이름과 월급을 출력
select ename, sal
from emp
where sal >= 2700;
예제 2. 직업이 SALESMAN 이 아닌 사원들의 이름과 직업을 출력
select ename, job
from emp
where job != 'SALESMAN';
3. 기타 비교 연산자
예제 1. 월급이 1,000 에서 3,000 사이인 사원들의 이름과 월급을 출력
select ename, sal
from emp
where sal between 1000 and 3000;
예제 2. 1981년도에 입사하지 않은 사원들의 이름과 입사일을 출력
select ename, hiredate
from emp
where hiredate not between '81/01/01' and '81/12/31';
예제 3. 이름의 첫 글자가 S로 시작하는 사원들의 이름과 월급을 출력
select ename, sal
from emp
where ename like 'S%';
% 는 와일드 카드(wild card), 이 자리에 뭐가 와도 관계 없고 그 개수가 몇 개가 되든 관계 없다는 뜻이다.
중간 데이터를 검색해야 하는 경우에는 양쪽에 와일드 카드를 사용해서 검색하면 된다.
예제 4. 이름의 두 번째 철자가 M인 사원들의 이름을 출력
select ename
from emp
where ename like '_M%';
_ 는 이 자리에 뭐가 와도 관계 없는데, 자리는 한 개여야 한다는 것이다.
예제 5. 커미션이 null인 사원들의 이름과 커미션을 출력
select ename, comm
from emp
where comm is null;
is null 연산자는 null 값을 검색할 때 사용하는 연산자다.
null 값은 데이터가 없는 상태를 말한다.
결측치 또는 오라클의 정의는 알 수 없는 값(unknown) 이라고 한다.
예제 6. 커미션이 null이 아닌 사원들의 이름과 커미션을 출력
select ename, comm
from emp
where comm is not null;
예제 7. 직업이 SALESMAN, ANALYST 인 사원들의 이름과 직업을 출력
select ename, job
from emp
where job in ('SALESMAN', 'ANALYST');
in 연산자를 이용하게 되면 여러 개의 데이터를 동시에 검색할 수 있다.
4. 논리 연산자
예제 1. 직업이 SALESMAN이고 월급이 1200 이상인 사원들의 이름, 월급, 직업을 출력
select ename, sal, job
from emp
where job = 'SALESMAN' and sal >= 1200;
예제 2. 직업이 ANALYST, CLERK, MANAGER 인 사원들의 이름, 월급, 직업을 출력
select ename, sal, job
from emp
where job = 'ANALYST' or job = 'CLERK' or job = 'MANAGER';