연산자는 WHERE 조건절에서 자료의 검색시 조건을 주기 위해 사용한다.
= : 같은지를 묻는다.
WHERE EMP_ID = 19970824
EMP_ID의 컬럼의 값이 19970824인 ROW를 검색
< : 작은지를 묻는다.
WHERE EMP_ID < 19970824
EMP_ID의 컬럼의 값이 19970824보다 작은 ROW를 검색
<= : 작거나 같은지를 묻는다.
WHERE EMP_ID <= 19970824
EMP_ID의 컬럼의 값이 19970824보다 작거나 같은 ROW를 검색
> : 큰지를 묻는다.
WHERE EMP_ID > 19970824
EMP_ID의 컬럼의 값이 19970824보다 큰 ROW를 검색
>= : 크거나 같은지를 묻는다.
WHERE EMP_ID >= 19970824
EMP_ID의 컬럼의 값이 19970824보다 크거나 같은 ROW를 검색
<> : 다른지를 묻는다.
WHERE EMP_ID <> 19970824
EMP_ID의 컬럼의 값이 19970824와 다른 ROW를 검색
!= : 다른지를 묻는다.
WHERE EMP_ID != 19970824
EMP_ID의 컬럼의 값이 19970824와 다른 ROW를 검색
NOT : IN, BETWEEN, LIKE, ANY, ALL, EXISTS 등과 함께 쓰여 연산의 결과를 부정할 때 사용한다.
WHERE EMP_ID NOT IN ( 19970824, 19970825)
EMP_ID의 컬럼의 값이 19970824, 19970825 중 어디에도 해당되지 않는 ROW를 검색
LIKE 연산자
: 값의 일부를 주어주고 검색할 때 사용한다.
예1)
부서코드가 A로 시작되는 ROW를 검색한다.
SELECT EMP_ID, EMP_NAME, DEPT_CODE
FROM TEMP
WHERE DEPT_CODE LIKE 'A%';
예2)
부서코드 중에 A가 들어가는 ROW를 검색한다.
SELECT EMP_ID, EMP_NAME, DEPT_CODE
FROM TEMP
WHERE DEPT_CODE LIKE '%A%';
예3)
총 6자리 부서코드 중 2번째 자리에 A가 들어가는 ROW를 검색한다.
SELECT EMP_ID, EMP_NAME, DEPT_CODE
FROM TEMP
WHERE DEPT_CODE LIKE '_A____';
BETWEEN 연산자
: 범위를 지정하여 검색할 때 사용하는 연산자
예1)
사번이 1997로 시작하는 사원의 사번과 성명을 검색할 때 BETWEEN 연산자를 쓴다면 다음과 같이 된다.
SELECT EMP_ID, EMP_NAME
FROM TEMP
WHERE EMP_ID BETWEEN 19970101 AND 19979999;
예2)
BETWEEN 연산자를 사용하여 성명(EMP_NAME)이 'ㄱ'으로 시작되는 사람의 EMP_ID와 EMP_NAME를 조회해보자
SELECT EMP_ID, EMP_NAME
FROM TEMP
WJERE EMP_NAME BETWEEN '가' AND '나';
IN 연산자
: OR 조건으로 연결될 조건을 한번에 기술해 줄 수 있는 기능을 제공해주는 역할을 한다.
예)
SELECT EMP_ID, EMP_NAME
FROM TEMP
WHERE EMP_NAME IN ('홍길동','김길동');
참고 : 전문가로 가는 지름길 오라클 실습 P.50