728x90
반응형

where절은 True, False, Null 가운데 하나를 리턴하는 절이다.

 

SQL>select *

    from emp;

 

 

     EMPNO ENAME      JOB              MGR HIREDATE        SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 80/12/17        800                    20
      7499 ALLEN      SALESMAN        7698 81/02/20       1600        300         30
      7521 WARD       SALESMAN        7698 81/02/22       1250        500         30
      7566 JONES      MANAGER         7839 81/04/02       2975                    20
      7654 MARTIN     SALESMAN        7698 81/09/28       1250       1400         30
      7698 BLAKE      MANAGER         7839 81/05/01       2850                    30
      7782 CLARK      MANAGER         7839 81/06/09       2450                    10
      7788 SCOTT      ANALYST         7566 82/12/09       3000                    20
      7839 KING       PRESIDENT            81/11/17       5000                    10
      7844 TURNER     SALESMAN        7698 81/09/08       1500          0         30
      7876 ADAMS      CLERK           7788 83/01/12       1100                    20
      7900 JAMES      CLERK           7698 81/12/03        950                    30
      7902 FORD       ANALYST         7566 81/12/03       3000                    20
      7934 MILLER     CLERK           7782 82/01/23       1300                    10

14 개의 행이 선택되었습니다.

 

 

위의 SQL문에 where절을 추가할 경우에는 위의 결과의 각 각의 로우가 후보행(candidate row)이 된다.

이 각 각의 로우들을 where절의 조건을 보고서 True인지, False인지, Null인지 검사를 하는데, True일 경우에는 그 후보행이 리턴되고, 아닐 경우에는 넘어가서 다음로우를 확인하는 방식으로 14개의 행을 검사하게 된다. 

 

where절을 추가해서 다시 작성해보자.

 

SQL>select *

    from emp

    where deptno=30;

 

 

     EMPNO ENAME      JOB              MGR HIREDATE        SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------- ---------- ---------- ----------
      7499 ALLEN      SALESMAN        7698 81/02/20       1600        300         30
      7521 WARD       SALESMAN        7698 81/02/22       1250        500         30
      7654 MARTIN     SALESMAN        7698 81/09/28       1250       1400         30
      7698 BLAKE      MANAGER         7839 81/05/01       2850                    30
      7844 TURNER     SALESMAN        7698 81/09/08       1500          0         30
      7900 JAMES      CLERK           7698 81/12/03        950                    30

6 개의 행이 선택되었습니다.

 

결국 부서번호가 30인 로우만 리턴이 되므로 결과는 위와 같게 된다.

 

 

지금까지 설명한 것은 where절을 사용했을 때 어떠한 과정으로 결과가 출력되는 것에 대해서 알아보았는데, 이러한 개념을 모르고 있다면 where절을 사용할 때 헷갈리게 되는 경우가 생기게 될 수 있다.

 

728x90
반응형

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

오라클 DB DECODE  (0) 2014.02.12
SQL 서브쿼리의 시작  (0) 2014.02.12
오라클(DB) 프로시저 문법  (0) 2014.02.12
[ORACLE]SELECT의 정의  (0) 2014.02.12
[ORACLE]ORDER BY절 사용하기  (0) 2014.02.12
[ORACLE]ALIAS란?  (0) 2014.02.12
[ORACLE]ALIAS란?  (0) 2014.02.12
[ORACLE]SELECT문 해석 순서  (0) 2014.02.12
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,