Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- downcasting
- Servlet 맵핑
- Java
- static 예제
- 오라클 비교연산자
- AOP란?
- 상속
- 리스트 모달창
- spring annotation
- IP
- 이클립스 오라클 연동
- 싱클톤패턴
- 모달창 여러개
- 깃 명령어
- SUB Query
- GROUP BY
- 사용자 데이터그램 프로토콜
- 추상 메서드
- order by
- static
- 객체협력
- 다운캐스팅
- react
- static메서드
- singleton
- 형변환
- oracle 연동
- 스프링 모달창
- 다중 모달창
- 템플릿
Archives
- Today
- Total
모든지 기록하자!
[Oracle] hr 표준함수 예제 본문
728x90
-- hr 표준함수
-- 문제1) EMPLOYEES 테이블에서 King의 정보를 소문자로 검색하고 사원번호, 성명, 담당업무(소문자로),부서번호를 출력하라.
SELECT employee_id,LOWER(last_name), LOWER(job_id), department_id
FROM employees
WHERE LOWER(last_name) = 'king';
-- 문제2) EMPLOYEES 테이블에서 King의 정보를 대문자로 검색하고 사원번호, 성명, 담당업무(대문자로),부서번호를 출력하라.
SELECT employee_id, UPPER(last_name), UPPER(job_id) , department_id
FROM employees
WHERE UPPER(last_name) ='KING';
-- 문제3) DEPARTMENTS 테이블에서 (부서번호와 부서이름), 부서이름과 위치번호를 합하여 출력하도록 하라.
SELECT department_id || ' ' || department_name, department_name || ' ' || location_id
FROM departments;
SELECT CONCAT(department_id,department_name),
CONCAT(department_name,location_id)
FROM departments;
-- 문제4) EMPLOYEES 테이블에서 이름의 첫 글자가 ‘K’ 보다 크고 ‘Y’보다 적은 사원의 정보를
-- 사원번호, 이름, 업무, 급여, 부서번호를 출력하라.
-- 단 이름순으로 정렬하여라.
SELECT employee_id, first_name, job_id , salary, department_id
FROM employees
WHERE SUBSTR(first_name, 1, 1) > 'K' AND SUBSTR(first_name, 1, 1) > 'Y'
ORDER BY first_name; -- ASC는 디폴트값이라 생략가능
-- 시작위치잡고 몇글자
-- 문제5) EMPLOYEES 테이블에서 20번 부서 중 이름의 길이 및 급여의 자릿수를 사원번호, 이름, 이름의 자릿수(LENGTH), 급여, 급여의 자릿수를 출력하라.
SELECT employee_id, first_name, LENGTH(first_name), salary, LENGTH(salary)
FROM employees
WHERE department_id = 20;
-- 문제6) EMPLOYEES 테이블에서 이름 중 ‘e’자의 위치를 출력하라.
SELECT first_name, INSTR (first_name, 'e', 1,1)
FROM employees;
-- 문제7) 다음의 쿼리를 실행하고 결과를 출력하고 확인하라.
SELECT ROUND(4567.678), -- 4567
ROUND(4567.678, 0), -- 4567
ROUND(4567.678, 2), --4567.68
ROUND(4567.678, -2) -- 4600
FROM dual;
-- 문제8) EMPLOYEES 테이블에서 부서번호가 80인 사람의 급여를 30으로 나눈 나머지를 구하여 출력하라.
SELECT first_name, department_id,salary, MOD(salary,30)
FROM employees
WHERE department_id = 80;
-- 문제9) EMPLOYEES 테이블에서 30번 부서 중 이름과 담당 업무를 연결하여 출력하여라.
SELECT first_name || ' ' || job_id
FROM employees
WHERE department_id = 30;
-- 문제10) EMPLOYEES 테이블에서 현재까지 근무일 수가 몇주 몇일 인가를 출력하여라.
-- 단 근무 일수가 많은 사람 순으로 출력하여라.
SELECT first_name , hire_date,
SYSDATE - hire_date as "총 근무일수" -- 반올림하고 싶으면 라운드사용
TRUNC ((SYSDATE - hire_date) / 7) as "총 근무주 일수"
MOD ((SYSDATE - hire_date) / 7) as "남은 일수"
FROM employees;
-- 문제11) EMPLOYEES 테이블에서 부서 50에서 급여 앞에 $를 삽입하고 3자리마다 ,를 출력하라
SELECT first_name, department_id, salary, TO_CHAR(salary, '$999,999,999')
FROM employees
WHERE department_id = 50;
728x90
'Database' 카테고리의 다른 글
[Oracle] SUB QUERY (0) | 2021.05.31 |
---|---|
[Oracle] ORDER BY , GROUP BY 예제 (0) | 2021.05.28 |
[Oracle] JOIN 과 예시 (0) | 2021.05.28 |
[Oracle] SELECT문, WHERE절, 비교연산자 기초 예제 (0) | 2021.05.26 |
[Oracle] ORDER BY , GROUP BY 와 예제 (0) | 2021.05.26 |
Comments