1 / 16

Group Functions

Group Functions. CSED421: Database Systems Lab TA: 이종욱 , 유개원. Contents. Group Functions AVG / COUNT / MAX / MIN / SUM GROUP BY Phrase HAVING Phrase Practice. Group Functions. COUNT (* | [DISTINCT] column) MAX ([DISTINCT] column) MIN ([DISTINCT] column) SUM ([DISTINCT] column)

aira
Download Presentation

Group Functions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Group Functions CSED421: Database Systems Lab TA: 이종욱, 유개원

  2. Contents • Group Functions • AVG / COUNT / MAX / MIN / SUM • GROUP BY Phrase • HAVING Phrase • Practice

  3. Group Functions • COUNT (* | [DISTINCT] column) • MAX ([DISTINCT] column) • MIN ([DISTINCT] column) • SUM ([DISTINCT] column) • AVG ([DISTINCT] column) • NVL (column, 0) • Null 을특정 값으로 대체한다 • ex. AVG(NVL(discount, 0)) • SELECT Count(Job)FROM EMPGROUP BY Job

  4. GROUP BY Phrase • SELECT column1FROM table [WHERE condition][GROUP BY column2][ORDER BY column3 [ASC|DESC]] • Column1에 가능한 컬럼 • column2 • Group Function이 적용된 column2 이외의 컬럼

  5. HAVING Phrase • Group Function에 조건을 주기 위해 사용 • SELECT column1FROM table[WHERE condition][GROUP BY column2][HAVING group_function_condition][ORDER BY column3 [ASC|DESC]] • HAVING의 조건절에는 • Group Function을 적용한 컬럼이 사용 가능하다.

  6. HAVING Phrase • Examples • SELECT a, COUNT(c), SUM(c) FROM exampleGROUP BY a HAVING SUM(c)>20; • SELECT a, b, SUM(c) FROM exampleGROUP BY a, bHAVING SUM(c)>10; • SELECT a, COUNT(c) COUNT_C, SUM(c) SUM_CFROM exampleGROUP BY a HAVING SUM(c)>20;

  7. Practice • EMP table & DEPT table • @emp.sql

  8. Some Hints • AS phrase 사용 방법 • SELECT sum(sal) sum_salFROM EMPGROUP BY salORDER BY sum_sal; • 간단한 Join 방법 • SELECT E.ename, D.dnameFROM Emp E, Dept DWHERE E.deptno = D.deptno; • NULL 조건을 체크 하기 위한 방법 • SELECT E.enameFROM EMPWHERE mgr is [not] null;

  9. Practice • 1. EMP 테이블에서 각 직원들의 총 급여를 검색하시오. • 이름, 직위, 총 급여를 출력하시오. • 총 급여는 기본 급여 및 추가 급여를 합한다. • 추가 급여는 기본값이 0원이다. • 결과순서는 총 급여의 내림차순 으로 출력하시오

  10. Practice • 2. EMP 테이블에서 각 부서명 별로 몇 명의 사람이 있는지를 검색하시오. • 결과는 부서명과 사람수를 출력한다. • 3. EMP 테이블에서 관리자가 있는 사람들에 대해서 각 부서별로 몇 명의 사람이 있는지 검색하시오. • 결과는 부서번호와 사람수를 출력한다. • 결과 순서는 부서번호의 오름 차순으로 출력한다.

  11. Practice • 4. EMP 테이블에서 부서별 평균 급여를 검색하시오. • 부서번호와 평균 급여를 출력한다. • 평균 급여의 내림차순으로 출력한다.

  12. Practice • 5. EMP 테이블에서 부서별, 직위 별 급여의 합을 검색하시오. • 부서번호, 직위, 급여의 합, 해당되는 직원 수를 출력한다. • 직위별 급여의 합의 내림차순으로 출력한다.

  13. Practice • 6. 직위별 직원수가 3명 이상인 직위별 평균 급여를 검색하시오. • 직위, 급여의 합, 해당되는 직원 수,평균 급여를 출력한다. • 직위별 급여의 합의 내림차순으로 출력한다.

  14. Practice • 7. EMP 테이블에서 관리자의 직번과 관리자가 관리하는 사원들의 평균 급여를 검색하시오. • 관리자 직번,관리 사원들의 급여의 합,관리 사원들의 수,관리 사원들의 평균 급여를 출력한다. • 결과 순서는 평균 급여의 내림차순으로 출력하시오.

  15. Practice • 8. EMP 테이블에서 관리자의 직번과 관리자가 관리하는 사원 수가 2명 이상인 경우에 대해서 총 급여의 평균급여를 검색하시오. • 총 급여는 기본 급여 및 추가 급여를 합한다. • 추가 급여는 기본값이 0원이다. • 관리자 직번,관리 사원들의 급여의 합,관리 사원들의 수,관리 사원들의 평균 급여를 출력한다. • 결과 순서는 평균 총 급여의 내림차순으로 출력하시오.

More Related