더북(TheBook)

Self-Check

1. 101번 사원에 대해 아래의 결과를 산출하는 쿼리를 작성해 보자.

    ---------------------------------------------------------------------------------------
    사번   사원명   job명칭 job시작일자  job종료일자   job수행부서명
    ---------------------------------------------------------------------------------------

2. 아래의 쿼리를 수행하면 오류가 발생한다. 오류의 원인은 무엇인지 설명해 보자.

입력

    select a.employee_id, a.emp_name, b.job_id, b.department_id
      from employees a,
           job_history b
     where a.employee_id      = b.employee_id(+)
       and a.department_id(+) = b.department_id;

3. 외부 조인을 할 때 (+)연산자를 같이 사용할 수 없는데, IN 절에 사용하는 값이 한 개이면 사용할 수 있다. 그 이유는 무엇인지 설명해 보자.

4. 다음의 쿼리를 ANSI 문법으로 변경해 보자.

입력

    SELECT a.department_id, a.department_name
      FROM departments a, employees b
     WHERE a.department_id = b.department_id
       AND b.salary > 3000
    ORDER BY a.department_name;

5. 다음은 연관성 있는 서브 쿼리다. 이를 연관성 없는 서브 쿼리로 변환해 보자.

입력

    SELECT a.department_id, a.department_name
     FROM departments a
    WHERE EXISTS ( SELECT 1
                     FROM job_history b
                    WHERE a.department_id = b.department_id );

6. 연도별 이탈리아 최대매출액과 사원을 작성하는 쿼리를 학습했다. 이 쿼리를 기준으로 최대매출액 뿐만 아니라 최소매출액과 해당 사원을 조회하는 쿼리를 작성해 보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.