본문 바로가기

DB

[SQL] 뷰(View)

실제 데이터를 가지고 있지 않음, 테이블이 수행하는 역할만을 수행하기 때문에 가상 테이블(Virtual Table)이라고 함

단지 뷰 정의(View Definition)만을 가지고 있음

질의에서 뷰가 사용되면 뷰 정의를 참조해서 DBMS 내부적으로 질의를 재작성하여 질의를 수행

 

뷰 사용의 장점

장점 설명
독립성 테이블 구조가 변경되어도 뷰를 사용하는 응용 프로그램은 변경하지 않아도 됨
편리성 - 복잡한 질의를 뷰로 생성함으로써 관련 질의를 단순하게 작성할 수 있음
- 해당 형태의 SQL문을 자주 사용할 때 뷰를 이용하면 편리하게 사용 가능
보안성 숨기고 싶은 정보가 존재한다면 뷰 생성 시 해당 컬럼 없이 생성함으로써 사용자에게 정보를 감출 수 있음

 

뷰 생성

- 기본 뷰 생성

CREATE VIEW 뷰_선수팀
AS SELECT P.선수명, P.포지션, P.선수번호, P.팀번호, T.팀명
FROM 선수 P, 팀 T 
WHERE P.팀번호 = T.팀번호;

 

- 기존 뷰를 참조해서 생성

CREATE VIEW 뷰_선수팀_필터
AS SELECT 선수명, 포지션, 선수번호, 팀명
FROM 뷰_선수팀
WHERE POSITION IN ('포지션1', '포지션2');

 

 

뷰 사용

SELECT 선수명, 포지션, 선수번호, 팀번호, 팀명 
FROM 뷰_선수팀
WHERE 선수명 LIKE '황%'

 

 

뷰 제거

DROP VIEW 뷰_선수팀;
DROP VIEW 뷰_선수팀_필터;

'DB' 카테고리의 다른 글

[DB] 마리아디비(MariaDB) 로그인 에러  (0) 2023.11.06
[DB] 마리아 디비(MariaDB) 사용해보기  (0) 2023.11.02
[SQL] 서브쿼리(Subquery)  (0) 2023.03.12
[SQL] CASE 표현  (0) 2023.03.06
[SQL] NULL 관련 함수  (0) 2023.03.06