CREATE VIEW view_table
AS
SELECT id, name
FROM table_name
WHERE id = '10';
SHOW TABLES
, information_schema.views
테이블에서 확인OR REPLACE
: 동일한 이름의 뷰가 없으면 신규로 생성, 존재하면 기존의 뷰를 변경CREATE OR REPLACE view_name
AS ( [ QUERY ] ) [ WITH read_only; ]
CREATE [ALGORITHM=MERGE] [ALGORITHM=TEMPTABLE] VIEW [view_name] AS
SELECT c1, c2 FROM t WHERE c3 > 100
SELECT *
FROM view_name
WHERE c2 = 100;
ALGORITHM
:
MERGE
: select 문을 새로 작성한다SELECT c1, c2
FROM t
WHERE (c2 = 100) AND (c3 > 100);
TEMPTABLE
: temporary table을 생성해서 해당 table 데이터를 조회한다 SELECT *
FROM
(SELECT c1, c2
FROM t
WHERE c3 > 100) as [view_name]
WHERE [view_name].c1 = 100
MERGE 방식으로 뷰를 생성하더라도 TEMPTABLE로 알고리즘을 가지게 되는 경우
DROP VIEW
: 삭제