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 지정해준다
'[ Developer ] > Oracle SQL' 카테고리의 다른 글
[SQL] DECODE 쿼리에서 특정값으로 출력하기 (0) | 2016.05.15 |
---|---|
[SQL] EXIST 값 존재하는지 검색 쿼리 (0) | 2016.05.15 |
[SQL] Sub Query 서브 쿼리 사용하기 (0) | 2016.05.14 |
[SQL] DELETE DB 데이터 삭제하기 (0) | 2016.05.12 |
[SQL] Update 쿼리로 DB 데이터 업데이트 하기 (0) | 2016.05.12 |