티스토리 뷰

SQL

[실습 3]인사 자료 조회하기

코린이도이 2021. 7. 2. 11:21

1. 정렬해서 조회하기

- 사원 테이블(emp) 자료에서 사원이름, 입사일, 생년월일을 조회한다. 결과는 생일이 빠른 순으로 정렬해서 나오도록 한다.

SELECT ename, hiredate, birth_date
FROM emp
ORDER BY birth_date;

 

2. 그룹함수 이용해서 조회하기

- 급여지급 테이블(salary)이용해서 2018년 12월 급여 중 지급액(pay_amt) 총합계와 지급액 평균, 지급액 중 최대값, 지급액 중 최소값을 조회한다.

SELECT sum(pay_amt), avg(pay_amt),
           max(pay_amt), min(pay_amt)
FROM salary
WHERE yymm = '201812' AND gubun = '1';

 

3. 조인 이용해서 조회하기

- 사원테이블(emp), 부서테이블(dept) 이용해서 서울지역(loc)에서 근무하는 사원들의 사원번호, 이름, 지급코드, 부서명(dname)을 조회한다.

SELECT e.empno, e.ename,
           e.jikgb_code, d.dname
FROM emp e JOIN dept d
ON e.deptno = d.deptno
WHERE d.loc = '서울';

- 사원테이블(emp), 직급테이블(jikgb)을 이용해서 사원 중 jikgb_name이 대리, 차장인 사원들만 이름, 입사일, jikgb_name을 조회한다.

SELECT e.ename, e.hiredate, j.jikgb_name
FROM emp e JOIN jikgb j
ON e.jikgb_code = j.jikgb_code
WHERE j.jikgb_name in ('대리', '차장');

- 사원테이블(emp), 직급테이블(jikgb), 부서테이블(dept)을 이용해서 사원번호, 사원이름, 부서명(dname), jikgb_name을 직급이 높은 사원부터 나오도록 정렬해서 조회한다.

SELECT e.empno, e.ename, d.dname, j.jikgb_name
FROM emp e JOIN dept d
ON e.deptno = d.deptno
JOIN jikgb j
ON e.jikgb_code = j.jikgb_code
ORDER BY j.jikgb_sort;

 

4. 서브쿼리 이용해서 조회하기

- 사원테이블(emp), 급여지급 테이블(salary)을 이용해서 2018년 12월 상여를 받은 사원들의 이름, 직급코드, 부서번호를 조회한다. (상여는 salary테이블 gubun이 2로 등록된다.)

SELECT ename, jikgb_code, deptno
FROM emp
WHERE empno in (select empno
                          from salary
                          where yymm = '201812' and gubun = '2');

 

 

'SQL' 카테고리의 다른 글

DELETE vs TRUNCATE vs DROP  (0) 2021.07.16
SQL 기본 이해  (0) 2021.07.16
[실습 2] 인사 자료 입력하기  (0) 2021.07.02
[실습 1] 인사관리를 위한 테이블 생성하기  (0) 2021.07.01
서브쿼리 사용하기  (0) 2021.06.24
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함