6장 그룹 함수.

Slides:



Advertisements
Similar presentations
북한기도제목 4 월 3 주 (4/15-4/21). 1. 북한정치 - 통일부와 국방부는 11 일 잇따라 열린 정례 브리핑에서 지난 7 일 북한 해외 식당 종업원 들이 집단 탈북한 데 이어 북한 정찰총국 출 신 북한군 대좌와 북한 외교관이 지난해 잇 따라 한국으로 망명한.
Advertisements

1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
4장 배열과 함수 한빛미디어(주).
02 SQL 언어 SQL 명령문의 종류와 사용 방법 오라클 오류 메시지.
MYSQL 설치 SQL언어 SQL언어의 활용 웹과 SQL언어와의 연동
SQL 실습 2014 FALL 데이터베이스 2014/10/04.
Nested Queries CSED421: Database Systems Labs.
Prepared Statements CSED421: Database Systems Labs.
제 7 장 함수 사용을 통해 엑셀 정복하기.
16 분석함수 분석 함수의 개념 분석 함수의 종류 계층적 질의문.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
오라클 데이터베이스 성능 튜닝.
Database & Internet Computing Laboratory 한 양 대 학 교
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
Excel 일차 강사 : 박영민.
5장 SQL 주요 함수.
데이터 베이스 설계 및 실습 #1 - 오라클 설치 및 SQL 기본.
SELECT 문 사원 테이블의 모든 정보를 출력하는 예제 1. 비교 연산자 SELECT 문의 형태
8장 서브 쿼리.
12장 데이터 읽기 일관성과 락.
MySQL 및 Workbench 설치 데이터 베이스.
목차 백업과 복원.
요약 정보 만들기.
기본적인 SELECT문 작성.
데이터 베이스 설계 및 실습 #3 - SQL 함수.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
14장 뷰.
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
09 서브쿼리(Subquery) 서브쿼리의 개념 서브쿼리의 종류 데이터베이스 실무에서 서브쿼리 사용시 주의 사항.
14 뷰(View) 뷰의 개념 뷰 관리.
Heesang kim PL/SQL 3 Heesang kim.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
MYSQL 설치 SQL언어 SQL언어의 활용 웹과 SQL언어와의 연동
SQL.
Quiz #1.
Chapter 07. 기본 함수 익히기.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
KIM HEESANG PL/SQL 2 KIM HEESANG
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
Sql & DB
JDBC Lecture 004 By MINIO.
1장. SELECT 문장을 이용하여 원하는 데이터 가져오기
Visual Basic .NET MDI 만들기.
Restricting and Sorting Data
Database 중고차 매매 DB 비즈니스IT 윤동섭.
ITQ 정보기술자격 국가공인 Excel 2007 Ⅱ 함수- 11회차 강사 : 박영민.
11장. GROUP BY와 HAVING 열의 그룹화 2개 이상의 열에 대한 그룹화
오라클 쿼리 문제 EMP (사원 테이블) DEPT (부서 테이블) 컬럼명 설명 EMPNO 사원번호 ENAME 사원명 JOB
기본적인 SELECT문 작성.
Excel 일차 강사 : 박영민.
제3장 함수와 배열수식 전진환
문성우 SQL 실습 Part Ⅰ 문성우.
Database Relational DML SQL.
ITQ 정보기술자격 국가공인 Excel 2007 Ⅱ 함수- 15회차 강사 : 박영민.
Excel 일차 강사 : 박영민.
10 데이터 조작어 데이터 조작어 데이터 입력 데이터 수정 데이터 삭제 MERGE 트랜잭션 관리 시퀀스.
10 데이터 조작어 데이터 조작어 데이터 입력 데이터 수정 데이터 삭제 MERGE 트랜잭션 관리 시퀀스.
14 뷰(View) 뷰의 개념 뷰 관리.
Chapter 10 데이터 검색1.
ITQ 정보기술자격 국가공인 Excel 2007 Ⅱ 함수- 12회차 강사 : 박영민.
요약과 집계 각종 요약과 집계 기법을 이해한다. 각종 집계 함수를 이해한다.
쿼리 활용하기 1 담당교수 : 박흠 실용컴퓨터 데이터베이스 기초 Access 담당교수 박흠.
어서와 C언어는 처음이지 제21장.
14 뷰(View) 뷰의 개념 뷰 관리.
 6장. SQL 쿼리.
                              데이터베이스 설계 및 실습 #6 - SQL 실습 한국외국어대학교 DaPS 연구실                              
Presentation transcript:

6장 그룹 함수

목 차 그룹 함수 로우(행)의 개수를 세는 COUNT 함수 합을 구하는 SUM 함수 평균을 구하는 AVG 함수 MAX 함수와 MIN 함수 HAVING 절 GROUP BY 절

그룹 함수 그룹함수는 단 하나의 값만 출력

그룹 함수 SELECT [컬럼], Group_Function(컬럼), … FROM 테이블, 테이블, .. [WHERE 조건] [GROUP BY 컬럼] [ORDER BY 컬럼];

로우(행)의 개수를 세는 COUNT 함수 직원 총 수와 커미션을 받는 사원의 수 조회 SQL> SELECT count(*), COUNT(comm)    2  FROM  emp; 10번 부서의 커미션을 받는 사원의 수 조회 SQL> SELECT COUNT(comm)    2  FROM   emp    3  WHERE deptno=10;

로우(행)의 개수를 세는 COUNT 함수 –cont’d 직책의 종류 조회 SQL> SELECT COUNT(job)    2  FROM  emp; SQL> SELECT COUNT(distinct job) Count(job)은 직책의 갯수임 영업사원들의 급여 총액과 평균 조회 SQL> SELECT SUM(sal), AVG(sal) 2 FROM emp 3 WHERE job = ‘SALESMAN’;

합을 구하는 SUM 함수 사원의 급여 총합 조회 SQL> SELECT SUM(sal) 2 FROM emp; 전체 사원 수와 입사한 해의 사원 수 조회 SQL> SELECT COUNT(*) “total”, 2 SUM(DECODE(TO_CHAR(hiredate, ‘YYYY’),1980,1,0)) “1980”, 3 SUM(DECODE(TO_CHAR(hiredate, ‘YYYY’),1981,1,0)) “1981”, 4 SUM(DECODE(TO_CHAR(hiredate, ‘YYYY’),1982,1,0)) “1982”, 5 SUM(DECODE(TO_CHAR(hiredate, ‘YYYY’),1987,1,0)) “1987”    6  FROM   emp    입사일이 1980이면 1을, 아니면 0을 sum()함수에 적용

평균을 구하는 AVG 함수 사원 급여의 평균 조회 SQL> SELECT AVG(sal) 2 FROM emp; 사원 총수와 커미션의 평균 조회 SQL> SELECT  count(*) 사원수, AVG(comm)   2   FROM emp; Avg(comm)은 커미션받는 사원에 대한 평균임-모순 사원총수와 커미션의 합, 커미션받는 사원수, 커미션의 전사원 평균 조회 SQL> SELECT  count(*), sum(comm), count(comm), AVG(NVL(comm, 0))   2   FROM emp;

그룹 함수를 이용한 데이터 집계 그룹 함수와 NULL 값 사원수, 수당합계, 수당이 있는 사원 수,수당평균의 조회 SQL> SELECT COUNT(*) 사원수, SUM(comm) "수당 합계", 2 COUNT(comm) "수당 사원수", 3 AVG(NVL(comm, 0)) "수당 평균" 4 FROM emp;

최대값(MAX) 함수, 최소값(MIN) 함수 사원 급여중 최대값과 최소값 조회 SQL> SELECT  MAX(sal), MIN(sal)   2   FROM emp; 사원이름, 입사일의 최대값과 최소값 조회 SQL> SELECT  MAX(ename), MIN(ename), MAX(hiredate),MIN(hiredate)   2   FROM emp;

그룹 함수를 이용한 데이터 집계 GROUP BY 절을 사용한 행 그룹 짓기 GROUP BY 절 사용시 가장 중요한 규칙 전체 사원의 급여 합 조회. SQL> SELECT SUM(sal) 2 FROM emp; 부서별 급여 합 조회. SQL> SELECT deptno, SUM(sal) 에러: ORA-00937: 단일 그룹의 그룹 함수가 아닙니다

그룹 함수를 이용한 데이터 집계 GROUP BY 절을 사용한 행 그룹 짓기 GROUP BY 절 사용시 가장 중요한 규칙

GROUP BY 절 기본 형식 예 제 부서별 평균 급여 조회 SQL> SELECT deptno, AVG(sal) FROM   테이블명 WHERE  조건 (연산자) GROUP BY 컬럼명 예 제 부서별 평균 급여 조회 SQL> SELECT deptno, AVG(sal)   2   FROM emp   3   GROUP BY deptno;

GROUP BY 절 부서별 커미션을 받는 사원들의 수를 계산 부서별 커미션을 받는 사원들의 수를 계산 SQL> SELECT deptno, COUNT(*), COUNT(comm)   2   FROM emp   3   GROUP BY deptno; 부서별 최대 급여와 최소 급여를 산출 SQL> SELECT deptno, MAX(sal), MIN(sal)   2   FROM emp   3   GROUP BY deptno;

GROUP BY 절 부서별, 직책별 사원 수 조회 SQL> SELECT deptno, job, COUNT(*) 사원수   2   FROM emp   3   GROUP BY deptno, job; 부서별 평균급여의 최대값 조회 SQL> SELECT MAX(AVG(sal))   2   FROM emp   3   GROUP BY deptno; Select 절에 ~별에 해당하는 컬럼 생략 가능 그룹함수 복합 적용 가능 15

GROUP BY 절 다중 컬럼 GROUP BY

HAVING 절 부서별 평균 급여가 2000 이상인 부서번호와 평균급여 산출 HAVING절은 GROUP BY절에 의해 생성된 그룹이 특정 조건에 맞을떄 사용 부서별 평균 급여가 2000 이상인 부서번호와 평균급여 산출 SQL> SELECT deptno, AVG(sal)   2  FROM  emp   3  GROUP BY deptno   4  HAVING AVG(sal) >= 2000;

HAVING 절 1000이상의 급여를 받는 사원들의 부서별 평균 급여가 2000 이상인 부서 번호와 평균 급여 출력 SQL> SELECT deptno, AVG(sal) 2     FROM  emp 3     WHERE sal >= 1000 4     GROUP BY deptno 5    HAVING AVG(sal) >= 2000; Where 절에는 단순 컬럼, Having 절에는 그룹함수가 적용된 컬럼이 옴.

HAVING 절 HAVING 절을 사용한 행 제한 직책이 clerk이 아닌 사원에 대한 부서별 급여 합이 6500 이상인 부서와 급여 합 반환. SQL> SELECT deptno, SUM(sal) 2 FROM emp 3 WHERE job <> ‘CLERK' 4 GROUP BY deptno 5 HAVING SUM(sal) >= 6500; 부서별 최대급여가 4000 이상인 부서의 부서번호와 평균급여 출력. SQL> SELECT deptno, AVG(sal) 2 FROM emp 3 GROUP BY deptno 4 HAVING MAX(sal) >= 4000;

HAVING 절 HAVING 절을 사용한 행 제한 SELECT deptno, SUM(sal) FROM emp GROUP BY 절과 HAVING 절에 컬럼 별명 사용불가.(WHERE 절도) GROUP BY 절에 기술된 컬럼으로 오름차순 정렬되어 반환되는 행의 순서를 바꾸기 원한다면 ORDER BY 절 사용. ORDER BY 절에는 표현식(그룹 함수), 컬럼 별명, 컬럼 순서 번호 등이 가능. SELECT deptno, SUM(sal) FROM emp WHERE job <> ‘CLERK' GROUP BY deptno HAVING SUM(sal) >= 6500 ORDER BY SUM(sal);