본문 바로가기
개발 기록/sql

[SQL] GROUP BY, TOP/ROWNUM, DISTINCT

by jeong11 2024. 1. 5.
반응형

1. GROUP BY

: 그룹으로 묶어주기 

1) 사용법

조건절 group by 컬럼명

 

2) 문제

> 부서 별 인원 수와 부서명을 출력하세요. 

select count(*), deptName from dept 
	group by deptName;

 

앞으로의 문제나 실제로 프로젝트에서도 자주 사용하고 있어서 계속해서 나올 예정이다. 

 

 

2. TOP / ROWNUM

: 출력되는 행 제한하기 

1) 사용법

1) rownum
where절 rownum = 1 
where절 rownum <= 2
//rownum은 1만 개별출력되고 2부터는 <=2로 작성해주어야 한다.

2)top
top 숫자

 

2) 문제

> 사원 테이블에서 맨 위 5개 행만 출력하세요. 

select rownum, empno, ename, job, sal 
from emp
	where rownum <= 5;
select top 5 * from emp;

 

> 월급이 높은 사원 순으로 사원번호, 이름, 직업, 월급을 출력하는데 다음과 같이 맨 위 4개 행만 출력하세요.

select rownum, ename, job, sal 
from emp
	where rownum <= 4
	order by sal desc;

 

> 최근 입사한 사원 순으로 이름, 입사일과 월급을 출력하는데 맨 위 5명만 출력하세요. 

select ename, hiredate, sal
from emp
	order by hiredate desc
	fetch first 5 rows only;

 

3. DISTINCT

: 중복 제거

1) 사용법

distinct 컬럼명

 

2) 문제

> 직업을 중복이 없게 출력하세요.

select distinct job from emp;

 

반응형