일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring-boot
- 자바스크립트
- 계산맞추기 게임
- Do it 자바스크립트 + 제이쿼리 입문
- node.js 설치
- node.js로 로그인하기
- react오류
- 따라하며 배우는 노드 리액트 기본 강의
- intllij 내 Bean을 찾지 못해서 발생하는 오류
- You are importing createRoot from "react-dom" which is not supported. You should instead import it from "react-dom/client"
- 거북이 대포 게임
- 웹 게임을 만들며 배우는 리액트
- 인프런
- intellij
- Spring-Framework
- googleColaboratory
- ReactDOM.render is no longer supported in React 18. Use createRoot instead
- props
- Concurrently
- vs code 내 node
- 리액트
- JS 개념
- 모두의 파이썬
- 모던자바스크립트
- 타자 게임 만들기
- Python
- Colaboratory 글자 깨짐
- DB Browser
- react
- 노드에 리액트 추가하기
- Today
- Total
프로그래밍 삽질 중
SQL 예제 문제(1) 본문
<S_EMP 테이블>
ID NOT NULL NUMBER(7)
LAST_NAME NOT NULL VARCHAR2(25)
FIRST_NAME VARCHAR2(25)
USERID VARCHAR2(8)
START_DATE DATE
COMMENTS VARCHAR2(255)
MANAGER_ID NUMBER(7)
TITLE VARCHAR2(25)
DEPT_ID NUMBER(7)
SALARY NUMBER(11,2)
COMMISSION_PCT NUMBER(4,2)
<S_DEPT 테이블>
ID NOT NULL NUMBER(7)
NAME NOT NULL VARCHAR2(25)
REGION_ID NUMBER(7)
[문제 1]
성이 'Havel'인 사원의 근무일수 출력
[문제 1 답]
1
2
3
4
|
SELECT START_DATE, ROUND(MONTHS_BETWEEN(START_DATE, SYSDATE)*30,1) AS "근무일수"
---29일 30일 상관없이 모두 30일
FROM S_EMP
WHERE LAST_NAME = 'Havel';
|
cs |
[문제 2]
모든 사원이 근무한 지 몇 주가 지났는지 출력
[문제 2 답]
1
2
3
4
|
SELECT LAST_NAME AS "이름", ROUND(MONTHS_BETWEEN(START_DATE, SYSDATE)*30,1) AS "근무일수",
ROUND(FLOOR((MONTHS_BETWEEN(START_DATE, SYSDATE)*30)/7),0) "근무 한 주"
FROM S_EMP
ORDER BY ROUND(FLOOR((MONTHS_BETWEEN(START_DATE, SYSDATE)*30)/7),0) DESC, LAST_NAME ASC;
|
cs |
[문제 3]
각 부서별로 실적에 따라 급여를 다르게 인상하는데 20번과 30번 부서는 각각 5, 15% 인상하고
나머지 부서는 동결할 경우 급여를 출력
[문제 3 답]
1
2
3
4
5
6
|
SELECT DEPT_ID,
CASE DEPT_ID WHEN 20 THEN SALARY*1.05
WHEN 30 THEN SALARY*1.15
ELSE SALARY*1
END "급여"
FROM S_EMP;
|
cs |
[문제 4]
사원의 이름과 매니저 사번을 출력하시오
[문제 4 답]
1
2
3
4
|
SELECT CONCAT(E.FIRST_NAME, E.LAST_NAME) AS "사원이름",
CONCAT(M.FIRST_NAME, M.LAST_NAME) AS "매니저 이름"
FROM S_EMP E, S_EMP M
WHERE E.MANAGER_ID = M.DEPT_ID;
|
cs |
[문제 5]
매월 1, 3주 토요일은 휴무이다 현재 월의 휴무일을 출력하라
[문제 5 답]
1
2
3
|
SELECT NEXT_DAY(TRUNC(SYSDATE, 'MONTH'), '토요일') "첫 번째 휴무일",
NEXT_DAY(TRUNC(SYSDATE, 'MONTH'), '토요일') + 14 "두 번째 휴무일"
FROM S_EMP;
|
cs |
[문제 6]
29번 부서의 이름과 그 부서에서 그 근무하는 사원의 이름을 출력하시오
[문제 6 답]
1
2
3
4
|
SELECT CONCAT(E.FIRST_NAME, E.LAST_NAME) AS "사원 이름", D.NAME
FROM S_EMP E, S_DEPT D
WHERE E.DEPT_ID = D.ID
AND D.ID = 29;
|
cs |
[문제 7]
7번 지역의 이름과 그 곳에 있는 부서의 이름 출력
[문제 7 답]
1
2
3
4
|
SELECT C.ADDRESS AS "지역 이름", D.NAME AS "부서이름"
FROM S_CUSTOMER C, S_DEPT D
WHERE C.REGION_ID = D.REGION_ID
AND C.REGION_ID = 7;
|
cs |
'과거 프로그래밍 자료들 > SQL(Oracle)' 카테고리의 다른 글
SQL 트랜잭션, 세션, 사용자 관리 설명 및 예제 (0) | 2021.03.23 |
---|---|
SQL 객체종류(인덱스, 뷰, 시퀀스 등) 설명 및 예제 (0) | 2021.03.23 |
SQL 제약 조건 설명 및 예제 (0) | 2021.03.22 |
SQL INSERT, UPDATE, DELETE & DDL 설명 및 예제 (0) | 2021.03.22 |
SQL 조인 설명 및 예제 (0) | 2021.03.22 |