일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 대구맛집
- 대구데이트
- 대구카페
- 프로그래머스
- 별찍기
- 대명동맛집
- C#
- 수성못맛집
- 대구삼겹살
- 안지랑카페
- BFS
- 서울맛집
- 수성구맛집
- 큐
- oracle
- 조건문
- 수성구데이트
- 반복문
- 대구고깃집
- 백준
- programmers
- 브루트 포스
- SQL
- 수성못삼겹살
- 오라클
- 앞산카페
- 범어동맛집
- 정렬
- 들안길삼겹살
- 압구정데이트
- Today
- Total
모든 일상
1일차 예제문제 본문
EX1. 급여가 $10000를 넘는 사원의 이름 및 급여를 표시하는 질의를 작성하시오.
SELECT LAST_NAME, SALARY
FROM EMP
WHERE SALARY >=10000;
-------------------------------------------------------------------------------------------
EX2. 사원의 번호가 100인 사원의 이름 및 부서 번호를 표시하는 질의를 작성하시오.
SELECT LAST_NAME, DEPARTMENT_ID
FROM EMP
WHERE EMPLOYEE_ID = 100;
-------------------------------------------------------------------------------------------
EX3. 급여가 $15000 이상 ~ $22000 이하의 범위에 속하지 않는
모든 사원의 이름 및 급여를 표시하는 질의를 작성하시오.
-------------------------------------------------------------------------------------------
SELECT LAST_NAME, SALARY
FROM EMP
WHERE SALARY NOT BETWEEN 15000 AND 220000;
ORDER BY SALARY
-------------------------------------------------------------------------------------------
EX4. 2004년 2월 2일 ~ 2004년 5월 1일에 입사한
사원 이름, 직위 및 시작일을 표시한다.
시작일을 기준으로해서 오름차순 정렬한다.
SELECT LAST_NAME, JOB_ID, HIRE_DATE
FROM EMP
WHERE HIRE_DATE BETWEEN TO_DATE('2004-02-02','YYYY-MM-DD') AND TO_DATE('2004-05-01','YYYY-MM-DD')
ORDER BY HIRE_DATE;
-------------------------------------------------------------------------------------------
EX5. 부서 10및 30에 속하는 모든 사원의 이름 및 부서 번호를
이름을 기준으로 해서 영문자순으로 표시한다.
SELECT LAST_NAME, DEPARTMENT_ID
FROM EMP
WHERE DEPARTMENT_ID IN(10,30)
ORDER BY LAST_NAME;
-------------------------------------------------------------------------------------------
EX6. 부서 10 또는 30에 속하는 사원 중 급여가 $5000를 넘는
사원의 이름 및 급여를 표시하도록 하며,
EMPLOYEE 및 MONTHLY SALARY 으로 이름을 바꾸시오.
SELECT LAST_NAME AS EMPLOYEE, SALARY AS "MONTHLY SALARY"
FROM EMP
WHERE DEPARTMENT_ID IN(10,30) AND SALARY >=5000;
-------------------------------------------------------------------------------------------
EX7. 2004년에 입사한 모든 사원의 이름 및 입사일을 표시한다.
sol1)
SELECT LAST_NAME, HIRE_DATE
FROM EMP
WHERE HIRE_DATE BETWEEN TO_DATE('2004-01-01','YYYY-MM-DD') AND TO_DATE('2004-12-31','YYYY-MM-DD')
sol2)
SELECT LAST_NAME, HIRE_DATE
FROM EMP
WHERE EXTRACT (YEAR FROM HIRE_DATE);
sol3)
SELECT LAST_NAME, HIRE_DATE
FROM EMP
WHERE TO_CHAR (HIRE_DATE,'YYYY')= '2004' ;
-------------------------------------------------------------------------------------------
EX8. 관리자가 없는 모든 사원의 이름 및 직위를 표시한다.
SELECT LAST_NAME, JOB_ID
FROM EMP
WHERE MANAGER_ID IS NULL;
-------------------------------------------------------------------------------------------
EX9. 커미션을 받는 모든 사원의 이름, 급여 및 커미션을
급여 및 커미션을 기준으로 해서 내림차순 정렬하시오.
SELECT LAST_NAME, SALARY, COMMISSION_PCT
FROM EMP
WHERE COMMISSION_PCT IS NOT NULL
ORDER BY SALARY DESC, COMMISSION_PCT DESC;
-------------------------------------------------------------------------------------------
EX10. 이름의 세 번째 문자가 A인 모든 사원의 이름을 표시한다.
SELECT LAST_NAME
FROM EMP
WHERE LAST_NAME LIKE '__a%' OR LAST_NAME LIKE '__A%';
-------------------------------------------------------------------------------------------
EX11. 이름에 s가 두 번 들어가며 부서 50 또는 80에 속한 모든 사원의 이름을 표시한다.
sol1)
SELECT LAST_NAME
FROM EMP
WHERE LAST_NAME LIKE '%s%s%' OR LAST_NAME LIKE '%S%s%' OR LAST_NAME LIKE '%S%S%';
sol2)
SELECT LAST_NAME
FROM EMP
WHERE DEPARTMENT_ID IN (50, 80) AND LOWER(LAST_NAME) LIKE '%s%s%';
-------------------------------------------------------------------------------------------
EX12. 업무가 CLERK 면서 급여가 $1000, 3000, $5000가 아닌
모든 사원의 이름, 직무 및 급여를 표시한다.
sol1)
SELECT LAST_NAME, SALARY, JOB_ID
FROM EMP
WHERE JOB_ID LIKE '%CLERK' AND SALARY <>1000 AND SALARY <> 3000 AND SALARY <>5000 ;
sol2)
SELECT LAST_NAME, SALARY, JOB_ID
FROM EMP
WHERE SALARY NOT IN (1000, 3000, 5000) AND JOB_ID LIKE '%CLERK';
-------------------------------------------------------------------------------------------
EX13. 커미션과 급여의 합계가 10% 인상된 급여보다 많은
모든 사원의 이름, 급여 및 커미션을 표시하도록 한다.
SELECT LAST_NAME, SALARY, SALARY * NVL(COMMISSION_PCT,0) AS COMMISSION
FROM EMP
WHERE SALARY + (SALARY * NVL(COMMISSION_PCT,0)) > SALARY+(SALARY * 0.1) ;