group functions

16
Group Functions Group Functions CSED421: Database Systems Lab TA: 이이이 , 이이이

Upload: aira

Post on 05-Jan-2016

38 views

Category:

Documents


1 download

DESCRIPTION

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) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Group  Functions

Group FunctionsGroup Functions

CSED421: Database Systems Lab

TA: 이종욱 , 유개원

Page 2: Group  Functions

ContentsContents

Group Functions AVG / COUNT / MAX / MIN / SUM

GROUP BY Phrase

HAVING Phrase

Practice

Page 2

Page 3: Group  Functions

Group FunctionsGroup 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

Page 3

Page 4: Group  Functions

GROUP BY PhraseGROUP BY Phrase

SELECT column1FROM table [WHERE condition][GROUP BY column2][ORDER BY column3 [ASC|DESC]]

Column1 에 가능한 컬럼 column2

Group Function 이 적용된 column2 이외의 컬럼

Page 4

Page 5: Group  Functions

HAVING PhraseHAVING Phrase

Group Function 에 조건을 주기 위해 사용 SELECT column1

FROM table[WHERE condition][GROUP BY column2][HAVING group_function_condition][ORDER BY column3 [ASC|DESC]]

HAVING 의 조건절에는 Group Function 을 적용한 컬럼이 사용 가능하다 .

Page 5

Page 6: Group  Functions

HAVING PhraseHAVING 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_C FROM exampleGROUP BY a HAVING SUM(c)>20;

Page 6

Page 7: Group  Functions

PracticePractice

EMP table & DEPT table @emp.sql

Page 7

EMPNO NUMBER(4) 직번

ENAME VARCHAR2(10)

이름

JOB VARCHAR2(9) 직위

MGR NUMBER(4) 상사 직번

HIREDATE DATE 고용일

SAL NUMBER(7, 2) 급여

COMM NUMBER(7, 2) 추가 급여

DEPTNO NUMBER(2) 부서번호

DEPTNO NUMBER(2) 부서번호

DNAME VARCHAR2(14) 부서명

LOC VARCHAR2(13) 부서위치

Page 8: Group  Functions

Page 8

Page 9: Group  Functions

Some HintsSome Hints

AS phrase 사용 방법 SELECT sum(sal) sum_sal

FROM EMPGROUP BY salORDER BY sum_sal;

간단한 Join 방법 SELECT E.ename, D.dname

FROM Emp E, Dept DWHERE E.deptno = D.deptno;

NULL 조건을 체크 하기 위한 방법 SELECT E.ename

FROM EMPWHERE mgr is [not] null;

Page 9

Page 10: Group  Functions

PracticePractice

1. EMP 테이블에서 각 직원들의 총 급여를 검색하시오 . 이름 , 직위 , 총 급여를 출력하시오 .

총 급여는 기본 급여 및 추가

급여를 합한다 .

추가 급여는 기본값이 0 원이다 .

결과순서는 총 급여의 내림차순

으로 출력하시오

Page 10

Page 11: Group  Functions

PracticePractice

2. EMP 테이블에서 각 부서명 별로 몇 명의 사람이 있는지를 검색하시오 . 결과는 부서명과 사람수를 출력한다 .

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

결과 순서는 부서번호의 오름 차순으로 출력한다 .

Page 11

Page 12: Group  Functions

PracticePractice

4. EMP 테이블에서 부서별 평균 급여를 검색하시오 . 부서번호와 평균 급여를 출력한다 .

평균 급여의 내림차순으로 출력한다 .

Page 12

Page 13: Group  Functions

PracticePractice

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

직위별 급여의 합의 내림차순으로 출력한다 .

Page 13

Page 14: Group  Functions

PracticePractice

6. 직위별 직원수가 3 명 이상인 직위별 평균 급여를 검색하시오 . 직위 , 급여의 합 , 해당되는 직원 수 , 평균 급여를 출력한다 .

직위별 급여의 합의 내림차순으로 출력한다 .

Page 14

Page 15: Group  Functions

PracticePractice

7. EMP 테이블에서 관리자의 직번과 관리자가 관리하는 사원들의 평균 급여를 검색하시오 . 관리자 직번 , 관리 사원들의 급여의 합 , 관리 사원들의 수 , 관리

사원들의 평균 급여를 출력한다 .

결과 순서는 평균 급여의 내림차순으로 출력하시오 .

Page 15

Page 16: Group  Functions

PracticePractice

8. EMP 테이블에서 관리자의 직번과 관리자가 관리하는 사원 수가 2 명 이상인 경우에 대해서 총 급여의 평균급여를 검색하시오 . 총 급여는 기본 급여 및 추가 급여를 합한다 .

추가 급여는 기본값이 0 원이다 .

관리자 직번 , 관리 사원들의 급여의 합 , 관리 사원들의 수 , 관리 사원들의 평균 급여를 출력한다 .

결과 순서는 평균 총 급여의 내림차순으로 출력하시오 .

Page 16