select 실행 순서
1. from 테이블명
2. where 조건절
3. group by 칼럼명
4. having 조건절
5. select 칼럼명1, 칼럼명2, ...
6. order by 칼럼명 [asc/desc] > 오름차순 혹은 내림차순
※ 계정 파일은 oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN 폴더안에 있는 scott.sql 파일을 활용함.
예제 table
테이블 column 설명
- empno 사원번호
- ename 사원이름
- job 직책
- mgr 매니저의 사원번호
- hiredate 입사일
- sal 봉급
- comm 성과급
- deptno 부서번호
함수 (Function)
- 어떠한 일을 수행하는 기능으로써 주어진 인수를 재료로 처리를 하여 그 결과를 반환하는 일을 수행한다.
함수의 종류
1) 단일행 함수
- 하나의 row 당 하나의 결과값을 반환하는 함수
2) 복수행 함수
- 여러개의 row 당 하나의 결과값을 반환하는 함수
1. 복수행 그룹 함수
1-1 COUNT (칼럼명) → 해당 칼럼이 존재하는 ROW 의 갯수를 반환한다.
(단, 저장된 데이터가 NULL 인 칼럼은 세지 않는다.)
- select count(ename) from emp;
- select count(comm) from emp;
- select count(*) from emp; → 모든 행(row)의 갯수를 얻어온다.
1-2 SUM (칼럼명) → 해당 칼럼의 값을 모두 더한 값을 리턴한다.
- select sum(sal) from emp;
1-3 AVN (칼럼명) → 해당 칼럼의 값의 모든값을 더한 후 ROW 의 갯수로 나눈 평균값을 리턴한다.
(단 NULL 칼럼은 제외된다.)
- select AVG(sal) from emp;
1-4 MAX(칼럼명) → 최대값을 리턴한다.
- select MAX(sal) from emp;
1-5 MIN(칼럼명) → 최소값을 리턴한다.
- select MIN(sal) from emp;
2. GROUP BY 절
- 그룹으로 묶을 때 사용한다.
- 부서별 급여의 총합을 출력하라.
- select deptno, sum(sal) from emp group by deptno;
- 부서별 평균 급여를 구해보시오.
- select deptno, avg(sal) from emp group by deptno;
- 부서별 평균 급여를 구해보세요 (반올림해서 소수 첫째 자리 까지만)
- select deptno, round(avg(sal),1) from emp group by deptno;
- 직업별 최대 급여를 구해보시오
- select job, max(sal) from emp group by job;
- 급여가 1000 이상인 사원들의 부서별 평균 급여의 반올림 값을 부서번호로 내림차순 정렬해서 출력해 보시오.
- select deptno, avg(sal) from emp where sal >=1000 group by deptno order by deptno desc;
- 급여가 2000 이상인 사원들의 부서별 평균 급여의 반올림 값을
평균 급여의 반올림 값으로 오름차순 정렬해서 출력해 보세요.
- select deptno, round(avg(sal)) from emp where sal >= 2000 group by deptno order by round(avg(sal)) asc;
- 각 부서별 같은 업무(job)를 하는 사람의 인원수를 구해서 부서번호, 업무(job), 인원수를
부서번호에 대해서 오름차순 정렬해서 출력해 보세요.
- select deptno, job, count(*) from emp group by deptno, job order by deptno asc;
- 급여가 1000 이상인 사원들의 부서별 평균 급여를 출력해보세요.
(단, 부서별 평균 급여가 2000 이상인 부서만 출력하세요.)
- select deptno, avg(sal) from emp where sal >=1000 group by deptno having avg(sal)>=2000;
'Oracle' 카테고리의 다른 글
Oracle sqlplus select sub-Query (2) | 2023.04.21 |
---|---|
Oracle sqlplus select JOIN (0) | 2023.04.20 |
Oracle sqlplus select Function(단일행 함수) (0) | 2023.04.20 |
Oracle sqlplus select (연산자) (0) | 2023.04.19 |
Oracle sqlplus select (ALIAS 사용하기) 칼럼에 별칭 붙이기 (0) | 2023.04.19 |