59doit
[ SQL ] 예제 #2 본문
반응형
1. EMP테이블에서 급여를 기준으로 내림차순으로 사원 정보를 조회하여 정렬하고 급여가 같으면 다시 이름기준으로 내림차순으로 조회하시오.
SELECT * FROM EMP ORDER BY SAL DESC, ENAME; |
![]() |
2. DEPT테이블의 다음 새로운 부서 정보를 저장하고 전체 레코드를 검색하시오.
--부서정보:
--DEPTNO: 50
--DNAME: Planning
--LOC: Seoul.
INSERT INTO DEPT(DEPTNO,DNAME,LOC) VALUES(50,'PLANNING','SEOUL'); SELECT * FROM DEPT; |
--Table GOODSINFO이(가) 생성되었습니다. |
3. EMP테이블에서 부서번호로 그룹화하여 월급의 최고액과 최저액을 받는 사원의 정보를 조회하시오
# 방법1
SELECT DEPTNO , MAX(SAL), MIN(SAL) FROM EMP GROUP BY DEPTNO ; |
![]() |
# 방법2
# MAX(SAL)
SELECT * FROM EMP WHERE SAL IN (SELECT MAX(SAL) FROM EMP GROUP BY DEPTNO); |
![]() |
# MIN(SAL)
SELECT * FROM EMP WHERE SAL IN (SELECT MIN(SAL) FROM EMP GROUP BY DEPTNO); |
![]() |
4. EMP테이블에서 부서번호로 그룹화하고 급여가 3800이상인 사원번호와 급여를 조회하시오.
# 방법1
SELECT EMPNO, SAL FROM EMP GROUP BY EMPNO, SAL, DEPTNO HAVING SAL > 3800; |
![]() |
# 방법2
SELECT EMPNO, SAL FROM EMP WHERE SAL IN (SELECT MAX(SAL) FROM EMP GROUP BY DEPTNO HAVING MAX(SAL) >= 3800); |
![]() |
5. EMP테이블과 DEPT테이블을 조인시켜 사원의 사원번호, 사원명, 부서번호, 부서명을 조회하시오.
SELECT EMPNO,ENAME,DEPT.DEPTNO,DEPT.DNAME FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO; |
![]() |
6. 단일행 서브쿼리를 이용하여 EMP테이블에서 SMITH의 부서명을 호출하여 조회하시오.
SELECT DNAME FROM DEPT WHERE DEPTNO = (SELECT DEPTNO FROM EMP WHERE ENAME = 'SMITH'); |
![]() |
7. 단일행 서브쿼리를 이용하여 EMP테이블에서 사원번호가 7654인 사원의 급여보다 급여가 적은 사원의 사원번호, 사원명, 직급, 급여 순으로 조회하시오
SELECT EMPNO, ENAME, JOB, SAL FROM EMP WHERE SAL < (SELECT SAL FROM EMP WHERE EMPNO = 7654); |
![]() |
8. 단일행 서브쿼리에 그룹함수를 사용하여 EMP테이블에서 부서번호가 20인 부서의 최소 급여보다 많은 부서를 조회하시오.
SELECT DEPTNO, MIN(SAL) FROM EMP GROUP BY DEPTNO HAVING MIN(SAL) > (SELECT MIN(SAL)FROM EMP WHERE DEPTNO = 20); |
![]() |
9. 다중행 서브쿼리를 이용하여 EMP테이블에서 부서번호 30에 소속된 사원 중 최고 급여보다 많은 급여를 받는 사원을 조회하시오.
SELECT * FROM EMP WHERE SAL > ALL (SELECT SAL FROM EMP WHERE DEPTNO = 30); |
![]() |
반응형
'Q.' 카테고리의 다른 글
SQL 활용 예제 (0) | 2023.01.03 |
---|---|
[SQL] 예제 #3 (0) | 2022.12.28 |
[ SQL ] 예제 #1 (0) | 2022.12.27 |
[ R ] 화면설계 예제 TEST (10) (0) | 2022.12.25 |
[ R ] 다양한 시각화 문제 (0) | 2022.12.24 |