009. 집계와 조건 분기 - llighter/database GitHub Wiki

SQL 레벨업

1. 집계 대상으로 조건 분기

- UNION을 사용한 방법

예제 추가하기

- UNION의 실행 계획

실행계획 추가하기

  • TABLE FULL SCAN 2번 수행

- 집계의 조건 분기도 CASE 식을 사용

  • 이 문제는 CASE 식의 응용 방법으로 관장히 유명한 표두(head, column)/표측(stub, row) 레이아웃 이동 문제 입니다.

예제 추가하기

- CASE식의 실행 계획

실행 계획 추가하기

  • TABLE FULL SCAN 1번 수행

2. 집약 결과로 조건 분기

예제 추가하기

  • UNION을 사용한 조건 분기

예제 추가하기

  • UNION의 실행 계획

실행 계획 추가

  • 3개의 쿼리를 머지하는 쿼리이므로 Employees 테이블에 대한 접근도 3번 발생

- CASE 식을 사용한 조건 분기

예제 추가하기

- CASE식을 사용한 조건 분기의 실행 계획

실행 계획 추가하기

  • TABLE FULL SCAN 1번 수행
  • 집약함수의 결과가 스칼라(더 이상 분할 불가능한 값)가 된느 것이다.
  • 따라서 CASE 식의 매개변수에 집약 함수를 넣을 수 있다.

WHERE 구에서 조건 분기를 하는 사람은 초보자
= HAVING 구에서 조건 분기를 하는 사람은 초보자