비전공개미 개발노트
MySQL 2일차 - 문제풀이 본문
반응형
SMALL
[문제풀이]
문제1] 'S'로 시작하는 모든 사원과 부서번호를 출력하시오.
==> SELECT * FROM emp WHERE ename LIKE 'S%';
문제2] 사원의 최대 급여와 최소 급여의 차액을 출력하시오.
==> SELECT MAX(SAL), MIN(SAL), (MAX(SAL) - MIN(SAL)) '차액' FROM emp;
문제3] 30번 부서의 구성원 수와 사원들 급여의 합계와 평균을 출력하시오.
==> SELECT count(ename), sum(sal), avg(sal) FROM emp WHERE deptno='30';
문제4] 평균급여가 가장 높은 부서의 번호를 출력하시오.
==> SELECT deptno, avg(sal) as avgsal FROM emp GROUP BY deptno ORDER BY avgsal DESC LIMIT 1;
ㄴ 부서번호, 급여평균을 출력, group by deptno로 그룹을 묶고 order by avgsal값을
높은순으로 정렬한 후 맨위에 값 1개 출력
문제5] 세일즈맨(SALESMAN)을 제외하고, 각 업무별 사원의 총 급여가 3,000 이상인 각 업무에 대해
업무명과 각 업무별 평균급여를 출력하시오. 단 평균급여의 내림차순으로 출력한다.
==> SELECT job, avg(SAL) as avgsal
FROM emp
WHERE job != 'SALESMAN'
GROUP BY job
HAVING avgsal >= 3000
ORDER BY avgsal DESC;
문제6] 전체 사원 가운데 직속상관이 있는 사원의 수를 출력하시오.(셀프조인)
==> SELECT distinct(a.empno), a.ename, a.mgr
FROM emp as a, emp as b
WHERE a.empno=b.mgr AND a.mgr IS NOT NULL;
문제7] 사원 SCOTT보다 급여를 많이 받는 사람의 이름을 출력하시오.(서브쿼리)
mysql> SELECT SAL FROM EMP WHERE ENAME = 'SCOTT';
==> SELECT ename FROM emp WHERE sal > (SELECT sal FROM emp WHERE ename='SCOTT');
mysql> SELECT distinct deptno FROM emp ;
mysql> SELECT ename, distinct deptno FROM emp ; --에러발생함
반응형
LIST
'데이터베이스 > MySQL' 카테고리의 다른 글
MySQL 4일차 - 조인(JOIN), 서브쿼리, 프로시저(Stored Procedure) (2) | 2022.09.13 |
---|---|
MySQL 3일차 - 문제풀이 (0) | 2022.09.07 |
MySQL 3일차 - 내장함수, 내부조인, 외부조인, 셀프조인, cross조인, natural조인 (0) | 2022.09.07 |
MySQL 2일차 - 테이블생성, 내부함수, WHERE / GROUP BY / HAVING / ORDER BY / LIMIT, View테이블, JOIN(조인) (0) | 2022.09.06 |
MySQL 1일차 - DDL(CREATE, DROP, ALTER) / DML(SELECT, INSERT, UPDATE, DELETE) (0) | 2022.09.05 |
Comments