CS/데이터베이스
SQL 실습(1)
hyomee2
2024. 7. 17. 10:53
* 실습은 앞의 SQL(2) 게시물에서 이용한 데이터베이스를 이용해 진행했다.
# 문제 1. 모든 사원 모든 컬럼 조회
SELECT
*
FROM employee;
# 문제 2. 사원들의 사번, 이름 조회
SELECT
emp_id
, emp_name
FROM employee;
# 문제 3. 201번사번의 사번 및 이름 조회
SELECT
emp_id
, emp_name
FROM employee
WHERE emp_id = '201';
# 문제 4. employee 테이블에서 부서 코드가 'D9'인 사원 조회
SELECT
*
FROM employee
WHERE dept_code = 'D9';
# 문제 5. employee 테이블에서 직급 코드가 'J1'인 사원 조회
SELECT
*
FROM employee
WHERE job_code = 'J1';
# 문제 6. employee 테이블에서 급여가 300만원 이상(>=)인 사원의 사번, 이름, 부서코드, 급여를 조회하시오.
SELECT
emp_id
, emp_name
, dept_code
, salary
FROM employee
WHERE salary >= 3000000;
# 문제 7. 부서코드가 'D6'이고 급여를 300만원보다 많이 받는 직원의 이름, 부서코드, 급여 조회
SELECT
EMP_NAME
, DEPT_CODE
, SALARY
FROM employee
WHERE DEPT_CODE = 'D6'
AND SALARY > 3000000;
# 문제 8. 보너스를 받지 않는 사원에 대한 사번, 직원명, 급여, 보너스를 조회
SELECT
emp_id
, emp_name
, dept_code
FROM employee
WHERE bonus IS NULL;
# 문제 9. 'D9' 부서에서 근무하지 않는 사원의 사번, 이름, 부서코드를 조회
SELECT
emp_id
, emp_name
, dept_code
FROM employee
WHERE dept_code != 'D9'
# 문제 10. employee 테이블에서 퇴사 여부가 N인 직원들 조회하고
# 사번, 이름, 입사일을 별칭을 사용해 조회해 보기
# (퇴사 여부 컬럼은 ENT_YN이고 N은 퇴사 안한 사람, Y는 퇴사 한 사람)
SELECT
*
FROM employee
WHERE ent_yn = 'N';
SELECT
emp_id AS '사번'
, emp_name AS '이름'
, hire_date AS '입사일'
FROM employee
WHERE ent_yn = 'N';
# 문제 11. employee 테이블에서 급여 350만원 이상 550만원 이하를 받는 직원의
# 사번, 이름, 급여, 부서코드, 직급코드를 별칭을 사용해 조회해 보기
SELECT
emp_id AS '사번'
, emp_name AS '이름'
, salary AS '급여'
, dept_code AS '부서코드'
, job_code AS '직급코드'
FROM employee
WHERE salary BETWEEN 3500000 AND 55000000;
# 문제 12. employee 테이블에서 '성이 김씨'인 직원의 사번, 이름, 입사일 조회
SELECT
emp_id
, emp_name
, hire_date
FROM employee
WHERE emp_name LIKE '김__';
# 문제 13. employee 테이블에서 '성이 김씨'가 아닌 직원의 사번, 이름, 입사일 조회
SELECT
emp_id
, emp_name
, hire_date
FROM employee
WHERE emp_name NOT LIKE '김__';
# 문제 14. EMPLOYEE 테이블에서 '하'문자가 이름에 포함 된 직원의 이름, 주민번호, 부서코드 조회
SELECT
emp_name
, emp_no
, dept_code
FROM employee
WHERE emp_name LIKE '%하%';
# 문제 15. 'J2'직급이면서 급여가 200만원 이상인 직원이거나 'J7'직급인 직원의 이름, 급여, 직급코드 조회
SELECT
emp_name
, salary
, job_code
FROM employee
WHERE (job_code = 'J2'
AND salary >= 2000000)
OR job_code ='J7';
# 문제 16. 'J2'직급이거나 'J7'직급인 직원들 중에 급여가 200만원 이상인 직원의 이름, 급여, 직급코드 조회
SELECT
emp_name
, salary
, job_code
FROM employee
WHERE (job_code = 'J2'
OR job_code = 'J7')
AND salary >= 2000000;