Бази даних · Middle · Запитання 28 з 75
Для чого корисний CTE (WITH ...)?
WITH recent AS (
SELECT * FROM orders WHERE created_at > now() - interval '7 days'
)
SELECT user_id, COUNT(*) FROM recent GROUP BY user_id;- 1Щоб створити постійну таблицю
- 2Щоб кешувати результати запиту між запитами
- ✓Правильна відповідь: Щоб дати ім'я підзапиту й зробити складні запити читабельними, а також для рекурсивних запитів
Пояснення
Починаючи з PostgreSQL 12, прості CTE вбудовуються в основний запит і оптимізуються разом. MATERIALIZED змушує обчислити CTE один раз.