Oracle 논리 연산자 AND

공유하기

  • Add this entry to Hatena Bookmark
  • 0

논리 연산자 AND

복수의 조건식의 논리곱 연산자. 복수의 조건식에 모두 해당될 경우, TRUE를 반환합니다. 다시 말해 WHERE구에 들어가는 조건을 2개 이상 가진 SQL문입니다.

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

"SCOTT" 스키마가 디폴트로 설치된 마지막 오라클 버전은 11g(11.2.0.x) 입니다. 11g 버전 이후 Oracle...

예시1

두 개의 조건식을 가진 SQL문입니다. 테이블 emp의 컬럼 job의 값이 'SALESMAN'이인 동시에 comm의 값이 300인 데이터를 출력합니다.

COLUMN empno FORMAT 99999;
COLUMN ename FORMAT A6;
COLUMN comm FORMAT 9999;
SELECT empno, ename, job, comm FROM emp
WHERE job = 'SALESMAN' AND comm = 300;

실행 결과는 다음과 같습니다. job이 SALESMAN이며 comm이 300인 데이터 1건이 출력되었습니다. 어느 한 쪽의 조건을 만족시키더라도 다른 하나의 조건을 만족시키지 못했을 경우에는 결과로써 검색되지 않습니다.

 EMPNO ENAME  JOB        COMM
------ ------ --------- -----
  7499 ALLEN  SALESMAN    300

예시2

비교연산자 BETWEEN, IN, LIKE, IS NULL 조건을 모두 만족하는 데이터를 검색하는 SQL문입니다.

COLUMN empno FORMAT 99999;
COLUMN ename FORMAT A6;
COLUMN sal FORMAT 9999;
COLUMN comm FORMAT 9999;
COLUMN deptno FORMAT 999999;
SELECT empno, ename, sal, comm, deptno FROM emp
WHERE sal BETWEEN 950 AND 3000
AND deptno IN(20, 30)
AND ename LIKE '%N%'
AND comm IS NULL;

실행 결과는 다음과 같습니다. sal이 950 이상 3000 이하의 값이며, deptno가 20 혹은 30이며, ename에 N이 포함되어있으며, comm이 null인 데이터 1건이 출력되었습니다.

 EMPNO ENAME    SAL  COMM  DEPTNO
------ ------ ----- ----- -------
  7566 JONES   2975            20