본문 바로가기
[ Developer ]/Oracle SQL

[SQL] View 뷰를 이용한 쿼리 검색

by 김현섭. 2016. 5. 14.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
SQL - View
  • 뷰는 하나의 가상 테이블
  • 실제 데이터가 저장 되는 것은 아니지만 뷰를 통해 데이터를 가상 테이블로 관리 가능
  • 한 개의 뷰로 여러 테이블에 대한 데이터를 검색할 수 있다
  • 조회 대상을 줄이고 싶을 때 사용하면 된다
  • 조회 대상을 뷰로 가상 테이블 개념으로 받는다


# SQL 30번


FROM에 가상의 테이블 (뷰, 즉 LAST_NAME에 u가 들어가 있는 사람의 부서번호가 있는 테이블)로 받는다
부서번호는 중복이 발생하기 때문에 DISTINCT를 해준다
다음과 같이 응용하면 DISTINCT를 사용하지 않아도 고유의 사번을 가지고 있기 때문에
중복이 발생하지 않는다


# SQL 31번


# SQL 34번 [중요]
-- 34 회사 전체 평균 연봉 보다 더 버는 사원들 중 - VIEW1
--    LAST_NAME에 u가 있는 사원들과 동일한 부서의 사원들의 - VIEW2
--    사번, LAST_NAME, 연봉 조회

뷰를 이용하기 좋은 예제이다
먼저 큰 틀로 평균 연봉보다 높은 연봉의 EMPLOYEE_ID를 VIEW1로 불러오고
그 뷰에서 LAST_NAME에 u가 포함된 사원들의 DEPARTMENT_ID가 저장된 VIEW2로 불러와
출력한다



# SQL 42번


뷰에서 값을 가져올 때 COMMISSION이 NULL값이 있는데 그것을 주의해야 한다
NVL로써 변환을 해서 가져오는데 별칭을 줘서 WHERE절에서 별칭을 통해 접근 가능하게 한다
마지막 AND에서 조건 비교 시 E.COMMISSION에서도 NULL값이 있으니 NVL 지정해준다