본문 바로가기
학원수업/1월

01/11 국비학원 33회차 오라클수업

by 코딩마스터^^ 2023. 1. 11.

 

1. UNION을 이용해서 temp와 tcom의 자료 중 emp_id, salary, comm을 보여주는 SQL을
    만들어 보자. 이 때  Salary 와 Comm이 모두 존재하는 사번은 두 줄로 나와야 한다.
 
2. UNION ALL을 이용해서 temp와 tcom의 자료 중 emp_id, salary, comm을 보여주는 SQL을
    만들어 보자.
 
3. Temp와 tcom에 존재하는 사번의 교집합을 구한 후, temp에서 tcom에 존재하는 사번을 제외
   시킨 차집합을 구하고, 두 개 결과의 합집합을 구해보자.
t_worktime테이블의 작업시간 누적 합계를 구하시오.

 

 

환율을 오늘 환율이 아니라 그 전날의 환율로 계산하는 문제

테이블을 두개를 붙여서 a에서 하루전날인 b를 빼서 전날의 환율을 가져오자

rownum으로 숫자를 차례로 매긴다음 2번에서 1번빼고...쭉한다.

 

to_char로금액에 , 찍어주기

 

 

함수(Function)란?

  보통 값을 계산하고 결과 값을 반환하기 위해서 함수를 많이 사용 한다.

  대부분 구성이 프로시저와 유사 하지만 IN 파라미터만 사용 할 수 있다.

  반드시 반환 될 값의 데이터 타입을 RETURN문에 선언해야 한다.

  또한 PL/SQL블록 내에서 RETURN문을 통해서 반드시 값을 반환해야 한다.

함수 문법
 
-- PL/SQL 블록에는 적어도 한 개의 RETURN 문이 있어야 한다. 
-- PL/SQL Block은 함수가 수행 할 내용을 정의한 몸체부분이다.    
CREATE OR REPLACE FUNCTION function name 
  [(argument...)] 
  
  RETURN datatype
    -- datatype은 반환되는 값의 datatype입니다. 

IS 

  [변수 선언 부분]

BEGIN

  [PL/SQL Block]
   
  -- 리턴문이 꼭 존재해야 합니다
  RETURN 변수; 
        
END;

 

Test02의 '20010901'부터 '20010911'까지의 자료를 이용해 해당일자보다 작거나 같은 날의 
환율을 순서대로 6개 까지 보여주는 쿼리를 만들어 보자.

 

6개가 옆으로 쫙 붙기 위해서 테이블을 두개 붙여서 했다

왜냐면 그룹바이 함수를 사용하고 싶어서

그런데 max()로 그룹함수로 해서 그룹바이에서 제외시킨다.

의미는 없지만....

 

intersect

교집합

공통된 부분만을 출력해주는 연산자

 

minus

차집합

댓글