Cute Happy Ghost
본문 바로가기
DB/Oracle

20201023_21 group by

by JENN_tech7 2020. 10. 23.
728x90
SMALL

SELECT sum(sal) FROM emp;  열의 값합하기

 

SELECT count(*) FROM emp;  열의 총갯수구하기

 

SELECT avg(sal) FROM emp; 열의 평균구하기

SELECT sum(sal) /count(*) FROM emp;이렇게도 할수있지만 avg로 하자

 

 

 

 

 

  • 그룹

SELECT job, avg(sal) as avgsal
FROM emp 
GROUP BY job
ORDER BY avgsal DESC;

 

 

 

  • 지역별 몇명있는지

SELECT *
FROM emp e 
JOIN dept d
ON e.deptno = d.deptno 

조인먼저 해주고

 

 

SELECT loc, count(*)
FROM emp e 
JOIN dept d
ON e.deptno = d.deptno
GROUP BY loc;

속한열없을수도있으니 *하면 터지니까 loc해주고 갯수알려면 count(*)

 

 

 

  • 부서별 샐러리 평균

SELECT dname, avg(sal)
FROM emp e
JOIN dept d
ON d.deptno = e.deptno
GROUP BY dname;

 

 

SELECT dname, avg(sal) as avgsal
FROM emp e
JOIN dept d
ON d.deptno = e.deptno
GROUP BY dname
ORDER BY avgsal DESC;

 

이렇게 부서별로 뜬다'

 

where절은 다각각해주는데

having절을 그룹별로 조건화해줌

SELECT dname, avg(sal) as avgsal
FROM emp e
JOIN dept d
ON d.deptno = e.deptno
GROUP BY dname
HAVING avg(sal) >= 2000
ORDER BY avgsal DESC;

이렇겡

 

 

 

 

  • 비등가조인
    등가 조인 방식의 이외의 것을 의미한다. 
SELECT s.grade, e.*
FROM emp e, salgrade s
WHERE e.sal BETWEEN s.losal AND s.hisal;

 

728x90
LIST

'DB > Oracle' 카테고리의 다른 글

20201026_22 계정생성, 제약조건  (0) 2020.10.26
20201024_21 Review  (0) 2020.10.23
테스트용 scott 스크립트  (0) 2020.10.23
20201023_21 다양한 함수  (0) 2020.10.23
20201022_20 테이블 만들기, 데이터 삽입, 조인  (0) 2020.10.22

댓글