본문 바로가기

정보보호관리자 과정 교육/Oracle

12강 서브 쿼리 - 단일행 서브 쿼리

★ 단일 행 서브 쿼리
서브 쿼리 문장에서 단 하나의 행과 열을 검색하는 SQL문장이다. 특히 검색된 결과 값을 조건문에 이용하는 경우 많이 사용된다.
   SQL> SELECT [DISTINCT/ALL]{* | <컬럼명>, ... }
         > FROM 테이블명
         > WHERE 컬럼명 단일행 연산자 (SELECT 문장 : Sub query문)

   - 단일 행 연산자가 사용됨으로 반드시 서브 쿼리의 결과 값은 한 개만 검색돼야 한다.
   - 서브 쿼리는 메인 쿼리 실행 전에 실행된다.
   - 서브 쿼리의 검색된 결과 값은 메인 쿼리에 사용된다.
   - 단일 행 연산자와 함께 사용 된다.
   - WHERE절에 기술된 열의 숫자와 타입은 SELECT절과 1:1 대응 관계가 되어야 한다.


예제 1. 김선유 보다 급여를 많이 받는 사원을 검색한다.


예제 2. 노육과 평점이 동일한 학생의 정보를 검색한다.


예제 3. 문시현과 부서가 다르고 동일한 업무를 하는 사원의 정보를 검색한다.


예제 4. 부산에서 근무하는 사원의 정보를 검색한다.








실습 (실습을 위한 것이므로 조인 문장을 사용하지 말고 완전히 서브 쿼리만 사용하세요)

실습 쿼리

다운로드


① 관우보다 평점이 우수한 학생의 학번과 이름을 검색한다.


② 관우와 동일한 학년 학생 중에 평점이 사마감과 동일한 학생을 검색한다.


③ 관우보다 일반 화학 학점이 더 낮은 학생의 명단을 검색한다.








문제

실습쿼리

다운로드


1. 문시현과 같은 지역에 거주하면서 업무가 다른 직원의 명단을 검색한다.


2. 화학과 교수 중에 무송과 동일한 직급이지만 부임일이 빠른 교수의 명단을 검색한다.


3. 무기화학 과목보다 학점수가 높지만 담당 교수가 배정되지 않은 과목을 검색한다.