Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원/7월

22.07.11 - [ 복습 ] [ DB ] { 구문 , 함수, 집한 연산자, join, trigger}

giggs 2022. 7. 20. 11:17

 

 

-- Index --

 

SELECT WHERE ORDER BY 단일행 함수
형변환 NULL처리 함수 그룹 함수 집계 함수
집합 연산자 JOIN 트리거  

 

 

 

 


 

 

 

 

 

SELECT

 

 

 

 


 

 

 

WHERE

 


 

IN 테스트

  • 여러 개 OR 조건들 하나로 사용할 때 IN()

 

 

 

 

 


 

 

 

 

ORDER BY

 

 

 

정렬했는데

  • NULL 값이 먼저 나오게 하고 싶다 ::: NULLS FIRST 
  • ULL 값이 나중에 나오게  하고싶다 ::: NULLS LAST

 

 

 


 

 

 

 

단일 행 함수

 


 

INSTR 테스트

 

 


 

EXTRACT 테스트

 

 

 

 


 

 

 

형 변환

 

 


 

날짜를 내가 원하는 문자열로

 

 


 

숫자를 내가 원하는 날짜로

 

 

 

 


 

 

 

NULL 처리 함수

 

 

 

 


 

Q1. 보너스포함 월급 조회 

  • NVL을 통한 풀이
  • NVL( 기준칼럼, null일시 보여줄 값 )
  • NVL – 기준 칼럼의 값이 NULL이라면 , 0 <-이걸로 해라

 


 

Q2. 변경된 보너스율로 월급 조회

  • NVL2 이용해보기 - 보너스 받던 사람들 보너스율 0.1로 통일해서 변경
  • NVL2 ( 기준칼럼 , null 아니면 나올 값 , null이면 나올 값 )

 

 

 

 


 

 

 

그룹 함수

 

  • 실행 순서 체크 :: FROM – WHERE – GROUP BY – HAVING – SELECT – ORDER BY

 

GROUP BY - HAVING

  • 그룹바이로 지정해준 칼럼으로만 SELECT 추가 가능
  • 왜?
  • GROUP BY로 먼저 묶어 준 뒤에 HAVING 조건 적용하고
  • RESULT SET에 넣어준다.
  • 그다음 SELECT 실행
  • RESULT SET에 없는 칼럼으로는 SELECT 불가능

 

 

 


 

# 그룹 함수 - 참고

 

https://giggs.tistory.com/146?category=939239 

 

22. 05. 19 - 함수 사용해보기, GROUP BY, 서브 쿼리

함수 사용해보기! 일반적으로 SELECT 절 WHERE절에서 사용한다. 되게 많은데. 굳이 안 해도 검색해서 찾을 수 있다~ String.charAt() / indexOf() 이런 것들 java에서 이미 만들어놓은 메서드 활용했듯이 Oracle

giggs.tistory.com

 

 

 

 


 

 

 

집계 함수

 

 

 


 

# 집계 함수 -  참고

 

https://giggs.tistory.com/160?category=939239

 

22. 05. 31 - 소집계 함수 [ROLLUP , CUBE, GROUPING SETS, GROUPING] , 인덱스

집계 함수 - 소집계 함수 [ ROLLUP , CUBE, GROUPING SETS, GROUPING ] 기본 세팅 – GROUP BY 1. ROLLUP 그룹별로 중간 집계 처리를 하는 함수 오른쪽에서부터 한 개씩 지워가며 조회해주는 애 – 통계 내주..

giggs.tistory.com

 

 

 


 

 

 

집합 연산자

 

 

 


 

 

조인

 

EQUAL JOIN(등가 조인)

 

 


 

NON EQUAL JOIN(비등가 조인)

 

 

 


 

 

# 집합 연산자 & 조인 - 참고 

 

https://giggs.tistory.com/147?category=939239

 

22. 05. 20 - JOIN [ INNER, OUTER ] 집합연산자(UNION, INTERSECT, UNIONALL, MINUS )

조인의 대분류 EQUI JOIN ( 10=10처럼 값이 같은지 비교하겠다. ) NON-EQUI JOIN (조건에 맞게 ~ ) 우리는 EQUI JOIN만 실습 1. INNER JOIN 2. OUTER JOIN -- LEFT OUTER JOIN -- RIGHT OUTER JOIN -- FULL OUTER..

giggs.tistory.com

 

 

 


 

 

 

트리거 - trigger

 

  • 원본 테이블에 CRUD 작업 발생 시 캐치해서 내가 원하는 작업도 추가적으로 진행

 

 

 


 

 

CREATE OR REPLACE

  • 트리거는 –똑같은 이름의 트리거가 이미 존재한다면
  • 없애버리고 내가 지금 만드는 걸로 덮어쓰기 된다. 

 


 

#실습

  • 원본 테이블에 insert 발생하면 카피 테이블에도 INSERT 작업해라

 

 


 

트리거 사용이 줄어드는 이유

  • 1. 유지보수 힘들다. ----- SQL 이용해서 만들고 여기서만 존재한다. 
  • 2. 존재하는지도모를 수 있다.------ 트리거라는 곳 까보고 찾아가서 봐야지 확인할 수 있다. 
  • 3. 성능저하 요인 발생 ------ 어떤 작업을 할 때마다 트리거가 계속 돈다.
  • 트리거는 LOG 남기는 정도에만 사용하고, 안 쓰는 것이 낫다.
  • 그마저도 트리거보다도 프로그래밍 언어로 사용하는 것이 낫다.