코드 1-1과 같이 가상 테이블(쿼리)을 만들면 중복 데이터를 저장하면서 발생하는 단점 없이 그림 1-3에 있는 원래 데이터를 쉽게 재생성할 수 있다(‘BETTER WAY 42. 가능하면 서브쿼리 대신 공통 테이블 표현식을 사용하자’에서처럼 가상 테이블은 공통 테이블 표현식(Common Table Expression, CTE)을 이용해 생성할 수 있다).
코드 1-1 원래 데이터를 반환하는 SQL
SELECT st.SalesID, c.CustFirstName, c.CustLastName, c.Address,
c.City, c.Phone, st.PurchaseDate, m.ModelYear, m.Model,
e.SalesPerson
FROM SalesTransactions st
INNER JOIN Customers c
ON c.CustomerID = st.CustomerID
INNER JOIN Employees e
ON e.EmployeeID = st.SalesPersonID
INNER JOIN AutomobileModels m
ON m.ModelID = st.ModelID;