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入門