Gdy zapytanie robi się długie i zagnieżdżone, łatwo się w nim pogubić. Z pomocą przychodzi CTE (Common Table Expression) - sposób na nazwanie tymczasowego wyniku, zanim użyjemy go dalej.
CTE zaczyna się od słowa kluczowego WITH:
1WITH drogie_ksiazki AS (
2 SELECT tytul, cena FROM ksiazki WHERE cena > 50
3)
4SELECT * FROM drogie_ksiazki;Tworzymy tymczasowy "regał" o nazwie
drogie_ksiazki, a potem odwołujemy się do niego w głównym zapytaniu - tak jak do zwykłej tabeli. Po wykonaniu zapytania CTE znika.Porównaj z podzapytaniem zagnieżdżonym w środku - CTE czyta się od góry do dołu, jak opowieść:
CREATE VIEW).CTE świetnie sprawdza się przy złożonych raportach, gdzie kilka kroków buduje się jeden na drugim. Dzięki niemu nawet skomplikowane zapytanie pozostaje przejrzyste.