오라클 함수 활용 및 과제


1. 급여가 5000이상 15000이하 사이에 포함되지 않는 사원의 사원번호(employee_id), 이름(last_name), 급여(salary), 입사일자(hire_date)를 조회하라.


2. 부서번호(department_id)가 50이고, 업무(job_id)가 'ST_MAN'이고, 

   입사일이 2004년 7월 18일인 사원의 사원번호, 이름, 업무, 입사일을 조회하라.


3. 2002년 이후 입사자중에서 재고업무(ST_MAN, ST_CLERK)를 담당하는 사원들의 모든 정보(컬럼)를 조회하라.


4. 상사(manager_id)가 없는 사원의 모든 정보(컬럼)을 조회하라.


5. 급여가 10000 미만인 사원중에서 배송(SH_CLERK)이나 구매(PU_MAN, PU_CLERK)업무를 담당하는 사원들의 모든 정보를 조회하라.


6. 사원중 이름(first_name)에 'S'가 포함된 사원의 모든 정보를 출력하라.


7. 년도별 입사인원수를 조회하라.


8. 사원번호(employee_id)가 홀수인 사원의 모든 정보를 조회하라.


9.오늘부터 6개월 후 돌아오는 첫번째 금요일 날짜를 출력하라.

   (날짜 형식 예: 2002-06-05 15:23:10)


10.사원번호(employee_id), 사원명(first_name), 상사번호(manager_id)를 출력하되

   상사번호가 없는(NULL) 경우 상사번호를 '대빵'이라 출력하라.


11.사원들을 3개축구팀으로 분류하기 위해 사번을 3으로 나누어

   나머지가 0이면 "영화배우팀"

   나머지가 1이면 "개그맨팀"

   나머지가 2이면 "가수팀"으로 분류하여 팀이름, 사원번호, 사원명을 출력하라.


12.사원별 급여그래프를 아래와 같이 출력하라.

   Steven King     *****($5,000) // $1000달러당 별 1개추가.

   Neena Kochhar  ***($3,000)--    .........

   XXXX XXXXX    *****************($17,000)


13.2002년 3월부터 2003년 2월 기간 동안 입사한 사원을 대상으로 부서별 인원수를 조회하라.

   결과는 인원수가 많은 순서대로 정렬하여 조회


14.업무별 평균 급여를 계산하라. 단, 평균급여가 10000을 초과하는 경우는 제외하고 평균 급여에 대해 내림차순 정렬한다.


15.2002년에 입사한 사원들의 목록으로부터 분기별 입사자의 수를 조회하라.

분기   사원수

---------------

1      3

2      1

3      2

4      0


------------ 결과 메일로 전송하기


오후 수업 시작


데이터 베이스 정규화

Join : 두개 이상의 테이블로부터 다양한 방법으로 요구조건을 만족하는 데이터르 조회하는 것을 조인(JOIN)이라 한다.

JOIN은 행과 행을 합친다.

JOIN은 4가지 종류의 종류가 있다.

- CROSS JOIN : 한개 이상의 테이블 조인 시 조인 조건을 생략한 조인을 말한다. 조인의 시작, 과부하를 일으킬수 있다.(이론상 존재하는 조인)

- INNER JOIN : 가장 일반적인 조인으로 natural join이라고한다. 부모와 자신의 관계를 가진 2개 이상의 테이블에서 공통 되는 칼럼을 비교하여 만족하는 행과 행을 조인

Non-Equi join : 범위를 가지고 비교할때 사용한다.

ON 구문에서 조건을 잘 구분해줘야 한다.


OUTER JOIN : INNER JOIN 시 행이 조인 조건을 만족하지 않을 검색되지않는다. 조언 조건을 만족하지 않는 행들도 검색에 포함하고자 할 경우 사용한다. 조인 시킬 값이 없는 조인 쪽에 (+) 기호를 위치시킨다.

아래와 같은 3가지 방법이 있다.

LEFT - 조인 조건이 안맞아도 무조건 나오게 한다.

RIGHT - 우측

FULL OUTER - 양쪽다 


Self join - 같은 테이블에 또다른 별칠을 부여해서 다른테이블처럼 조인하는것

FROM에서 같은 테이블을 기준으로 검색한다.


Sub Query : 서브쿼리에서 검색한 결과를 메인 쿼리에 전달하여 새로운 결과 검색시 사용

()로 구분하여 사용한다.

동적으로 필요한부분을 모두 사용할 수 있다.


단일행 Subquery : =, <, >, <=, >=, <>

복수행 Subquery : IN, ANY, ALL









'JAVA 계열 > 자바 & 안드로이드 교육' 카테고리의 다른 글

9월 1주차 1일 (9주)  (0) 2015.08.31
8월 4주차 5일 (8주)  (0) 2015.08.28
8월 4주차 3일 (8주)  (0) 2015.08.26
8월 4주차 2일 (8주)  (0) 2015.08.25
8월 4주차 1일 (8주)  (0) 2015.08.24
Posted by moyaiori
,