IT_developers

SQL - hr 실습 1 본문

SQL

SQL - hr 실습 1

developers developing 2022. 8. 19. 14:00

hr 실습은 hr 생성 후 작성 가능.

문제를 다 푼 다음에 답 보기.

hr의 데이터가 많기 때문에 각각의 칼럼명을 알고 있어야 문제를 풀 수 있다.

 

<문제>

문제1) employees 테이블 전체 내용 조회

문제2) employees 테이블의 first_name, last_name, job_id 조회

문제3) employees 테이블의 모든 열을 조회.

       별칭 넣기 employee_id : empno , manager_id : mgr, department_id : deptno

       조회 할 때 부서본호를 기준으로 내림차순으로 부서 번호가 같다면

       사원 이름(First_name)을 기준으로 오름차순 정렬

문제4) 사원번호가 176인 사원의 last_name과 deptno 조회

문제5) 연봉이 12,000 이상 되는 직원들의 last_name과 salary 조회

문제6) 연봉이 5000~ 12000 범위 사이가 아닌 사원들 조회

문제7) 20번 혹은 50번 부서에서 근무하는 모든 사원들의 last_name 및 department_id 조회

         last_name의 오름차순, department_id 의 오름차순으로 정렬

문제8) 커미션을 받는 모든 사원들의 last_name, salary, commission_pat를 조회

         연봉의 내림차순, commission_pct의 내림차순 정려

문제9) 연봉이 2500, 3500, 7000이 아니며, 직업이 SA_REP, ST_CLERK 인 사원조회. 전체 정보 조회

문제10) '2008-02-20' ~ '2008-05-01' 사이에 고용된 사원들의 last_name, employee_id, hire_date 조회

          hire_date 내림차순으로 정렬

 

 

<정답>

꼭 이것만 정답은 아닙니다. 다른 방법이 있을 수 있습니다.

문제1-답)

SELECT
    *
FROM
    employees;

문제2-답)

SELECT
    first_name,
    last_name,
    job_id
FROM
    employees;

문제3-답)

SELECT
    employee_id   AS empno,
    first_name,
    last_name,
    email,
    phone_number,
    hire_date,
    job_id,
    salary,
    commission_pct,
    manager_id    AS mgr,
    department_id AS deptno
FROM
    employees
ORDER BY
    department_id DESC,
    first_name ASC;

 

문제4-답)

SELECT
    last_name,
    department_id
FROM
    employees
WHERE
    employee_id = 176;

문제5-답)

SELECT
    last_name,
    salary
FROM
    employees
WHERE
    salary >= 12000;

문제6-답)

SELECT
    last_name,
    salary
FROM
    employees
WHERE
    salary < 5000
    OR salary > 12000;

문제7-답)

SELECT
    last_name,
    department_id
FROM
    employees
WHERE
    department_id IN ( 20, 50 )
ORDER BY
    last_name ASC,
    department_id ASC;

문제8-답)

SELECT
    last_name,
    salary,
    commission_pct
FROM
    employees
WHERE
    commission_pct > 0
ORDER BY
    salary DESC,
    commission_pct DESC;

문제9-답)

SELECT
    *
FROM
    employees
WHERE
    salary NOT IN ( 2500, 3500, 7000 )
    AND job_id IN ( 'SA_REP', 'ST_CLERK' );

문제10-답)

SELECT
    last_name,
    employee_id,
    hire_date
FROM
    employees
WHERE
        hire_date >= '2008-02-20'
    AND hire_date <= '2008-05-01'
ORDER BY
    hire_date DESC;

between 사용

SELECT
    last_name,
    employee_id,
    hire_date
FROM
    employees
WHERE
    hire_date BETWEEN '2008-02-20' AND '2008-05-01'
ORDER BY
    hire_date DESC;

'SQL' 카테고리의 다른 글

SQL-hr 실습3  (0) 2022.08.20
SQL - hr 실습 2  (0) 2022.08.19
SQL - hr 만들기  (0) 2022.08.19
SQL - scott(DML 실습)  (0) 2022.08.18
SQL - scott(개념 + 실습) DML- update, delete  (0) 2022.08.17
Comments