NoSQL 입문
Jake Roach
Data Engineer
공통 테이블 식(CTE):
WITH 키워드로 정의하는 이름 있는 서브쿼리/임시 테이블JOIN 데이터 양을 줄임WITH <cte-name> AS (
SELECT
....
FROM <table-name>
[JOIN | WHERE | ...]
)
SELECT
...
FROM <cte-name>;
WITH premium_books AS (
SELECT
title,
author,
avg_reviews
FROM books
WHERE price > 25.00
)
SELECT
author,
MIN(avg_reviews) AS min_avg_reviews,
MAX(avg_reviews) AS max_avg_reviews
FROM premium_books
GROUP BY author;
premium_books 임시 객체 생성premium_books 사용$$
여러 임시 객체도 생성 가능:
WITH
<first-name> AS (...),
<second-name> AS (...),
...
...
;
뷰:
CREATE VIEW <view-name> AS
SELECT
...
FROM <table-name>
[WHERE | JOIN | ...];
CREATE VIEW premium_books AS
SELECT
title,
author,
avg_reviews
FROM books
WHERE price >= 25.00;
SELECT * FROM premium_books;
premium_books를 호출할 때 쿼리가 실행됨CREATE MATERIALIZED VIEW premium_books AS
SELECT
title,
author,
avg_reviews
FROM books
WHERE price >= 25.00;
SELECT * FROM premium_books;
NoSQL 입문