Common Table expressions

analog wie eine abgeleitete Tabelle oder eine Sicht - ein tempöräres Resultat einer Abfrage auf das in einer Tabelle

WITH cte_name (column_list) AS
(
	CTE_query_defiition
)
<query>;
WITH DSPpS AS (
	SELECT Strasse, AVG(Suppenpreis) AS DurchscnittsPreis
	FROM Restaurant
	GROUP BY STRASSE
)
SELECT Name, Suppenpreis, Durchschnittspreis
FROM Restaurant
JOIN DSPpS
ON Restaurant.Strasse = DSPpS.Strasse;

Vorteile

  • Grosse Queries besser stukturieren

  • Abfragen besser lesbar, da die einzelnen Teilabfragen einen eigenen Namen haben,

  • Mehr oder menschlichen Denkweise

  • unterstützen rekursive Abfragen