YSHUSH

조건절 예제 본문

Coding/SQL

조건절 예제

코딩; 2022. 1. 22. 12:45
-- 문제1) EMPLOYEES 테이블에서 급여가 3000이상인 사원의 사원번호, 이름, 담당업무, 급여를 출력하라.
SELECT employee_id, last_name, job_id, salary 
FROM employees
WHERE salary >= 3000;

-- 문제2) EMPLOYEES 테이블에서 담당 업무가 ST_MAN인 사원의 사원번호, 성명, 담당업무, 급여, 부서번호를 출력하라.
SELECT employee_id, last_name, job_id, salary, department_id
FROM employees
WHERE job_id = 'ST_MAN';

-- 문제3) EMPLOYEES 테이블에서 입사일자가 2006년 1월 1일 이후에 입사한 사원의 정보를 
-- 사원번호, 성명, 담당업무, 급여, 입사일자, 부서번호를 출력하라.
SELECT employee_id, last_name, job_id, salary, hire_date, department_id
FROM employees
-- WHERE hire_date > '06/01/01';
WHERE hire_date > to_date('06/01/01', 'YY/MM/DD');

-- 문제4) EMPLOYEES 테이블에서 급여가 3000에서 5000사이의 사원의 성명, 담당업무, 급여, 부서번호를 출력하라.
SELECT last_name, job_id, salary, department_id
FROM employees
-- WHERE salary >= 3000 AND salary <= 5000;
WHERE salary BETWEEN 3000 AND 5000;

-- 문제5) EMPLOYEES 테이블에서 사원번호가 145,152,203인 사원의 정보를 사원번호, 성명, 담당업무, 급여, 입사일자를 출력하라
SELECT employee_id, last_name, job_id, salary, hire_date
FROM employees
WHERE employee_id IN(145, 152, 203);

-- 문제6) EMPLOYEES 테이블에서 입사일자가 05년도에 입사한 사원의 정보를 사원번호, 성명, 담당업무, 급여, 입사일자, 부서번호를 출력하라.
SELECT employee_id, last_name, job_id, salary, hire_date, department_id
FROM employees
WHERE hire_date LIKE '05%';

-- 문제7) EMPLOYEES 테이블에서 보너스가 없는 사원의 사원번호, 성명, 담당업무, 급여, 입사일자, 보너스, 부서번호를 출력하라.
SELECT employee_id, last_name, job_id, salary, hire_date, NVL(salary*commission_pct, 0), department_id
FROM employees
WHERE commission_pct IS NULL;

-- 문제8) EMPLOYEES 테이블에서 급여가 1100이상이고 JOB이 ST_MAN인 사원의 사원번호, 성명, 담당업무, 급여, 입사일자, 부서번호를 출력하라
SELECT employee_id, last_name, job_id, salary, hire_date, department_id
FROM employees
WHERE salary >= 1100 AND job_id = 'ST_MAN';

-- 문제9) EMPLOYEES 테이블에서 급여가 10000이상이거나 JOB이 ST_MAN인 사원의 사원번호, 성명, 담당업무, 급여, 입사일자, 부서번호를 출력하라
SELECT employee_id, last_name, job_id, salary, hire_date, department_id
FROM employees
WHERE salary >= 10000 
    OR job_id = 'ST_MAN';

-- 문제10) EMPLOYEES 테이블에서 JOB이 ST_MAN, SA_MAN, SA_REP가 아닌 사원의 사원번호, 성명, 담당업무, 급여, 부서번호를 출력하라
SELECT employee_id, last_name, job_id, salary, department_id
FROM employees
WHERE job_id NOT IN('ST_MAN', 'SA_MAN', 'SA_REP');

-- 문제11) 업무가 PRES이고 급여가 12000이상이거나 업무가 SA_MAN인 사원의 사원번호, 이름, 업무, 급여를 출력하라.
SELECT employee_id, last_name, job_id, salary
FROM employees
--WHERE job_id = 'AD_PRES' AND salary >= 12000;
WHERE job_id LIKE '%PRES%'
    AND salary >= 12000
        OR job_id = 'SA_MAN';

-- 문제12) 업무가 AD_PRES 또는 SA_MAN이고 급여가 12000이상인 사원의 사원번호, 이름, 업무, 급여를 출력하라.
SELECT employee_id, last_name, job_id, salary
FROM employees
-- WHERE job_id IN('AD_PRES', 'SA_MAN') AND salary >= 12000;
WHERE job_id = 'AD_PRES'
    OR job_id = 'SA_MAN'
        AND salary >= 12000;

'Coding > SQL' 카테고리의 다른 글

join  (0) 2022.01.22
order by, group by 예제  (0) 2022.01.22
정렬(order by)과 통계(count, sum, avg, max, min)  (0) 2022.01.22
조건절 (where, in, between, like)  (0) 2022.01.22
SQL이란?  (0) 2022.01.22