Oracle/SQL2021. 6. 16. 10:42

연산자는 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

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

COALESCE 함수  (0) 2022.10.24
join  (0) 2021.06.17
ORDER BY  (0) 2021.06.16
OPTIMIZER와 실행계획  (0) 2021.06.15
WHERE  (0) 2021.06.15
Posted by 자수성가한 부자