본문 바로가기
sql

oracle sql

by improve 2024. 2. 13.

ex1 --커미션을 받는 사원의 수를 구하시오.
select count(*) from emp
where comm is not null;

ex2 --부서번호가 10인 사원중에 커미션을 받는 사원의 수를 구하시오
select count(*) from emp where deptno=10 and comm is not null;

ex3 --사원테이블에서 job의 종류는 몇 개인가?
select count(*)from(
select job from emp group by job
);

ex4 --부서별로 급여의 최고액을 구한 후 급여가 많은 순서데로 정렬하시오
select deptno,max(sal) from emp group by deptno;
--order by max(sal) desc; 내림차순 

ex5 --부서별 평균 급여가 2000이상인 부서들만 부서별 평균을 구하시오.
select deptno,avg(sal) from emp
group by deptno
having avg(sal)>=2000;

ex5 --급여가 1000이상인 사원들만 부서별 평균급여를 구한 후 부서별 평균 급여가 2000이상인 
--부서만 부서번호와 부서별 평균급여를 구하시오.
select deptno,avg(sal) from emp 
where sal>=1000
group by deptno having avg(sal) >=2000;

 

● inner join(값이 있는것만 붙인다)

select * from emp e
inner join departments d -- e를 기준으로 d를 붙인다.(둘다 값이 있는것만)
on e.deptno = d.department_id;

select * from departments d
inner join emp e -- d를 기준으로 e를 붙인다.
on d.department_id = e.deptno;

● left,right outer join(값이 없는것도 붙인다)


select * from emp e
left OUTER join departments d --(왼쪽 기준으로 오른쪽이 없어도 붙여준다.)
on e.deptno = d.department_id;

select * from departments d
left OUTER join emp e -- d를 기준으로 e를 붙인다.
on d.department_id = e.deptno;

 

 

 

 

'sql' 카테고리의 다른 글

sql  (0) 2024.02.27
맥북에서 mysql 실행  (0) 2024.02.23
열거형에 sql 연동해보기  (0) 2024.02.06
쇼핑몰에 대한 sql  (0) 2024.02.02
docker 명령어  (0) 2024.01.30