SQL에서 가상 테이블과 생성 방법

LeeYulhee·2023년 12월 5일
0

👉 가상 테이블(Virtual Table)


  • 가상 테이블은 SQL 쿼리 내에서만 존재하는 임시 테이블을 의미
  • 이들은 데이터베이스 내에 실제로 저장되지 않고, 쿼리 실행 시점에만 생성되어 사용됨
  • 복잡한 쿼리를 단순화하거나, 반복되는 쿼리 부분을 재사용하기 위해 사용



👉 가상 테이블 생성 방법


  • 📌 서브 쿼리
    • 설명
      • 서브 쿼리는 하나의 SELECT 문 내에 또 다른 SELECT 문을 포함하는 방식
      • 서브 쿼리를 사용하면, 그 결과가 임시적인 가상 테이블처럼 작동
    • 예시
      SELECT * 
        FROM (SELECT column1, column2 
              FROM table_1)
          AS virtual_table
       WHERE column1 = '홍길동';

  • 📌 WITH절(Common Table Expressions, CTE)
    • 설명
      • WITH절은 복잡한 쿼리를 간결하게 만드는 데 사용
      • WITH절을 사용하여 정의된 테이블은 CTE(Common Table Expression)라고 불림
      • CTE는 쿼리 내에서 일시적으로 생성되는 가상 테이블로, 쿼리 실행 동안만 존재
      • 메인 쿼리에서 여러 번 참조하여 사용할 수 있음
    • 예제
      WITH WithTable AS (
          SELECT column1, column2
          FROM table_1
          WHERE condition
      )
      SELECT *
      FROM WithTable
      WHERE column1 = '홍길동';
      • WithTable은 WITH 절을 통해 생성된 가상 테이블로, 해당 쿼리 실행 동안만 존재

  • 📌 임시 테이블
    • 설명
      • 임시 테이블은 데이터베이스 세션 동안만 존재하는 테이블
        • 데이터베이스 세션
          • 사용자가 데이터베이스 시스템에 연결되어 있는 동안의 상호작용 기간
      • 이는 보다 명시적으로 생성되며, 세션이 종료되면 자동으로 사라짐
    • 예제
      CREATE TEMPORARY TABLE temp_table 
          AS SELECT column1, column2
               FROM table1;
      SELECT * FROM temp_table;

  • 📌 뷰(View)
    • 설명
      • 기존 테이블의 데이터를 기반으로 하는 가상 테이블
      • 데이터베이스 내에 저장되지만, 데이터 자체를 저장하지는 않고 쿼리를 저장
    • 예시
      CREATE VIEW view_table
          AS SELECT column1, column2
               FROM table_1;
      SELECT * 
        FROM view_table;
profile
끝없이 성장하고자 하는 백엔드 개발자입니다.

0개의 댓글