안녕하세요. SQLER의 코난 김대우입니다.
이번 강좌에서는, 7-6. 뷰에서 뷰 생성을 진행 하겠습니다.
SQLER에서 진행되는, 챗GPT와 함께 배우는 SQL Server 강좌 목록
이번에 진행할 강좌는 뷰(VIEW)에서 뷰 생성입니다.
TL;DR
하나의 뷰를 활용해 다른 뷰를 생성하는 방법을 다룹니다. 복잡한 SQL 구문 결과셋으로 뷰로 생성하고, 생성한 뷰를 기반으로 다른 뷰를 만드는 방안을 설명합니다.
뷰에서 뷰 생성
뷰는 거울입니다. 그런데, 뷰에 대해서 알아갈수록 점점 거울의 범주를 뛰어넘는 테이블에 더 가까운 개체로 느껴집니다. 그렇다면, 하나의 뷰를 이용해 다른 뷰를 생성할 수 있을까요?
결론부터 말씀드리면, 가능합니다. 뷰를 생성할 때 다른 뷰의 정보를 이용해 뷰를 생성할 수 있습니다. 예제를 보면서 말씀드리겠습니다.
-- 뷰가 존재하면 삭제 IF OBJECT_ID(N'dbo.v_Employee', N'V') IS NOT NULL DROP VIEW dbo.v_Employee; GO -- 뷰 생성 CREATE VIEW v_Employee AS SELECT emp_num, emp_name, email FROM Employee; GO -- 뷰에서 뷰를 생성 CREATE VIEW v_Employee_email AS SELECT emp_num, email FROM v_Employee; GO -- 뷰의 뷰 테스트 SELECT * FROM v_Employee_email; GO
뷰에서 파생된 뷰이기 때문에 해당 뷰 생성 구문에 선언된 컬럼 외에는 참조할 수 없습니다.
복잡한 SQL 구문 결과를 뷰로 생성하고, 다시 뷰를 기준으로 SQL 구문을 활용해 다른 뷰를 생성하는 경우가 종종 있습니다.
SQL 강좌 책 구매
강좌가 도움이 되셨다면, 책으로 구매 가능합니다. 책 판매 수익금은 전액 코딩 교육 사회공헌 활동에 기부되며, 아래 링크에서 구매하시면 더 많은 금액이 기부됩니다.