Big Bro's Studying Archive

SQL 기초 : 다중행 서브쿼리의 사용법 본문

Big Data展

SQL 기초 : 다중행 서브쿼리의 사용법

빅브로오 2020. 5. 11. 13:47

EMP 테이블에서 이름이 'A'로 시작하는 사원이 있는 부서원의 정보를 출력하는 서브쿼리는 다음과 같다.

  select *
    from EMP
   where deptno in (select deptno
                      from EMP
                     where ename like 'A%');

우선 where 절에 쓰인 서브쿼리인 아래 쿼리의 결과를 출력하면 다음과 같다.

select deptno
  from EMP
 where ename like 'A%';

ENAME에 'A'로 시작하는 사원은 ADAMS와 ALLEN이고 이들의 부서 번호가 출력된다.
여기서 부서번호가 한 가지가 아니기 때문에 where절의 조건으로 두 가지 조건이 걸리게 된다.
이 경우 or의 기능을 수행하는 in 연산자를 통해 색인을 해주고 쿼리를 실행해주면 다음과 같은 결과가 출력된다.

ENAME이 A로 시작하는 사원이 있는 부서의 모든 정보가 출력된 모습이다.

이 처럼 여러 행인 결과를 출력하는 서브쿼리를 '다중행 서브쿼리'라고 부르며
in을 통해 조건 색인을 할 수 있다.

Comments