Oracle 비교 연산자 IN

Oracle DB

IN 연산자

값 리스트 내의 데이터 중 하나와 일치하는 데이터를 검색합니다. IN(값1, 값2 … ) 대신 [항목 = 값1 OR 항목 = 값2 … ] 을 대신 사용할 수 있습니다.

이 글의 예시는 아래 글의 초기 데이터를 사용했습니다.

Oracle 일반 데이터베이스 인스턴스에 연습 데이터용 샘플 스키마 "SCOTT" 작성하기
"SCOTT" 스키마가 디폴트로 설치된 마지막 오라클 버전은 11g(11.2.0.x) 입니다. 11g 버전 이후 Oracle 12c(12.1.0.2) 버전부터 "SCOTT" 스키마는 기본적으로 설치되지 않도록 변경되...

예시1

emp테이블에서 데이터 형식이 number인 sal 컬럼의 데이터 중, IN문을 사용해 대상이 되는 데이터만을 취득하는 SQL문입니다. 검색 대상은 sal 값이 800, 1600, 1250인 데이터입니다.

COLUMN empno FORMAT 99999;
COLUMN ename FORMAT A6;
COLUMN sal FORMAT 9999;
SELECT empno, ename, sal FROM emp WHERE sal IN (800, 1600, 1250);

실행 결과는 다음과 같습니다. SAL의 값이 800, 1250, 1600인 데이터가 출력됩니다.

 EMPNO ENAME    SAL
------ ------ -----
  7369 SMITH    800
  7499 ALLEN   1600
  7521 WARD    1250
  7654 MARTIN  1250

IN 대신 OR를 사용해 같은 결과를 취득할 수 있습니다.

COLUMN empno FORMAT 99999;
COLUMN ename FORMAT A6;
COLUMN sal FORMAT 9999;
SELECT empno, ename, sal FROM emp WHERE sal = 800 OR sal = 1600 OR sal = 1250;
 EMPNO ENAME    SAL
------ ------ -----
  7369 SMITH    800
  7499 ALLEN   1600
  7521 WARD    1250
  7654 MARTIN  1250

다음 페이지에 계속 …

제목과 URL을 복사했습니다