쯔이's Dev

FUNCTION(1) 본문

SQL/연습문제들

FUNCTION(1)

jjhim531 2024. 8. 16. 20:18
반응형

Q. EMPLOYEE테이블에서 이름, 연봉, 총수령액(보너스포함), 실수령액(총수령액 - (연봉*세금 3%)) 조회 

SELECT
    emp_name,
    salary * 12,
    ( salary + ( salary * nvl(bonus, 0) ) ) * 12,
    ( ( salary + ( salary * nvl(bonus, 0) ) ) * 12 ) - ( ( salary + ( salary * nvl(bonus, 0) ) ) * 12 * 0.03 )
FROM
    employee;

Q. EMPLOYEE테이블에 월급이 4000000이상이고 JOB_CODE가 J2인 사원의 전체 컬럼 조회 

SELECT
    *
FROM
    employee
WHERE
        salary >= 4000000
    AND job_code = 'J2';

Q. JOB_CODE가 J7이거나 J6이면서 SALARY값이 200만원 이상이고 BONUS가 있고 여자인 사원의 이름, 주민등록번호, 직급코드, 부서코드, 급여, 보너스를 조회하고싶다.

SELECT
    emp_name,
    emp_no,
    job_code,
    salary,
    bonus
FROM
    employee
WHERE
    ( job_code = 'J7'
      OR job_code = 'J6' )
    AND salary >= 2000000
    AND bonus IS NOT NULL
    AND substr(emp_no, 8, 1) IN ( '2', '4' );
    -- == ( substr(emp_no, 8, 1) = '2' OR substr(emp_no, 8, 1) = '4' );

Q. 전 사원의 이름, 보너스포함 연봉 조회

SELECT
    emp_name,
    ( salary + ( salary * nvl(bonus, 0) ) ) * 12
FROM
    employee;

Q. 직원의 성명, 기존급여, 인상된 급여 조회(각 직급별로 인상해서 조회)
     * J7인 사원은 급여를 10%인상(SALARY * 1.1)
     * J6인 사원은 급여를 15%인상(SALARY * 1.15)
     * J5인 사원은 급여를 20%인상(SALARY * 1.2)
     * 그외 사원들은 급여를 5%인상(SALARY * 1.05)

 

SELECT
    emp_name,
    salary                                    AS "인상전",
    decode(job_code, 'J7', salary * 1.1, 'J6', salary * 1.15,
           'J5', salary * 1.2, salary * 1.05) AS "인상후"
FROM
    employee;

Q. 남자사원들의 총 급여

SELECT
    SUM(salary)
FROM
    employee
WHERE
    substr(emp_no, 8, 1) IN ( '1', '3' );

Q. 부서코드가 D5인 사원들의 총 연봉(급여 * 12)

SELECT
    SUM(salary * 12)
FROM
    employee
WHERE
    dept_code = 'D5';

 

728x90
반응형

'SQL > 연습문제들' 카테고리의 다른 글

SUBQUERY  (0) 2024.08.25
JOIN  (0) 2024.08.24
SELECT  (2) 2024.08.10