반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

비전공개미 개발노트

MySQL 2일차 - 문제풀이 본문

데이터베이스/MySQL

MySQL 2일차 - 문제풀이

비전공개미 2022. 9. 6. 18:37
반응형
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
Comments