MySQL

MySql에서 SQL 연습

오운학 2024. 4. 24. 11:13

 

직업이 SALESMAN이 아닌 직업의 토탈월급을 출력하는데
토탈월급이 4000이상인 직업만 출력하고 토탈월급이 높은 순으로 정렬하세요

select job, sum(sal)
from EMP 
where job != 'SALESMAN'
GROUP by job
having sum(sal) > 4000
order by 2 DESC ;

 

Jones보다 더 많은 월급을 받는 사원들의 이름과 월급을 출력하세요

select ename , sal
from EMP
where > sal (select sal
				from EMP
                where ename='JONES');

 

월급의 순위가 2등인 사원들의 이름과 월급을 출력하세요

select ename , sal
from ( select ename , sal, DENSE_RANK() over (order by sal desc) rnk
		from EMP
	) aa
where rnk = 2;

 

 

 

 

 

MySQL에서는 원래는 서브쿼리를 from과 having절에서 사용못했는데
5,0버전부터는 서브쿼리를 사용할 수 있게되었다