글 목록으로 돌아가기

MariaDB

VIEW와 CTE

MariaDB Inline View, View, 임시 테이블, CTE 정리

Dohyeon Kim
Dohyeon Kim 2026년 7월 15일 · 1분 읽기
MariaDB AutoEverSW

1) Inline View


FROM 절에 사용하는 서브쿼리로, 일회성 가상 테이블

SELECT * FROM (SELECT name, salary FROM employees WHERE salary > 50000) AS high_salary;

2) VIEW


개요

저장된 가상 테이블, 재사용 가능

CREATE VIEW 뷰이름 AS
SELECT 컬럼 FROM 테이블 WHERE 조건;

-- 사용
SELECT * FROM 뷰이름;

-- 삭제
DROP VIEW 뷰이름;

장점

  • 보안: 특정 컬럼만 노출
  • 편의성: 복잡한 쿼리 단순화
  • 재사용성: 여러 곳에서 동일한 뷰 사용

3) 임시 테이블


세션 내에서만 유지되는 테이블

CREATE TEMPORARY TABLE temp_table (
    id INT,
    name VARCHAR(100)
);

4) CTE (Common Table Expression)


WITH cte_name AS (
    SELECT 컬럼 FROM 테이블 WHERE 조건
)
SELECT * FROM cte_name;

재귀 CTE (계층 구조 조회)

WITH RECURSIVE cte AS (
    SELECT id, parent_id, name FROM categories WHERE parent_id IS NULL
    UNION ALL
    SELECT c.id, c.parent_id, c.name FROM categories c JOIN cte ON c.parent_id = cte.id
)
SELECT * FROM cte;

댓글