Bazy danych · Middle · Pytanie 28 z 75
Do czego przydaje się 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;- 1Do tworzenia stałej tabeli
- 2Do cache'owania wyników zapytań między żądaniami
- ✓Poprawna odpowiedź: Do nazwania podzapytania, żeby złożone zapytania były czytelne, oraz do zapytań rekurencyjnych
Wyjaśnienie
Od PostgreSQL 12 proste CTE są wbudowywane w główne zapytanie i optymalizowane razem. MATERIALIZED wymusza jednorazowe obliczenie CTE.