더북(TheBook)

CREATE OR REPLACE VIEW 다음에 생성할 뷰의 이름인 dept_emp_v를 명시하고, AS 다음에 코드 11-27의 SELECT 문을 넣어 dept_emp_v란 뷰를 만듭니다. 그런 다음 SELECT 문의 FROM 절에 dept_emp_v 뷰를 명시해 쿼리를 실행하면 현재 기준으로 각 부서에 할당된 사번이 조회됩니다.

현재 기준으로 부서 할당 사원 정보를 조회하려면 코드 11-27에서 사용했던 WHERE 절의 조건이 필요합니다. 하지만 dept_emp_v 같은 뷰를 만들어 놓으면 뷰 안에 이미 해당 조건절이 포함된 SELECT 문이 저장되어 있고, 이 뷰를 조회하면 저장된 SELECT 문이 실행되어 결과 집합을 반환합니다. 따라서 현재 기준 부서 할당 정보를 조회할 때마다 일일이 WHERE 절의 조건을 기술할 필요 없이 간단히 뷰만 조회하면 원하는 정보를 얻을 수 있습니다.

그런데 dept_emp_v 뷰를 생성할 때 사용한 문장의 SELECT 절에서 emp_no, dept_no 칼럼만 명시해서 두 칼럼만 조회됩니다. dept_emp 테이블에는 from_date와 to_date 칼럼도 있지만, 두 칼럼은 현재 시점의 부서 할당 사원 정보를 확인하는 용도입니다. 따라서 두 칼럼의 값은 필요 없어서 SELECT 절에서 뺐습니다. 이처럼 뷰를 생성할 때 필요한 칼럼만 선택할 수도 있습니다.

뷰를 생성하면서 뷰의 이름을 정할 때 맨 끝에 v를 붙이는데, 이렇게 해야 한다는 규칙이 있는 것은 아닙니다. 다만, 테이블과 뷰 모두 SELECT 문의 FROM 절에서 사용하므로 이런 식으로 이름을 지으면 현재 사용하는 것이 테이블인지 뷰인지 쉽게 식별할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.