Wenden wir uns zuallererst sogenannten Common Table Expressions (= CTEs) zu. Anbei ein einfaches Beispiel:
test=# WITH x AS ( SELECT count(*) FROM t_business)
SELECT *
FROM x
WHERE count <= (SELECT * FROM x);
count
-------
8
(1 row)
Wir definieren am Beginn des Statements einen Ausdruck namens x und verwenden diesen Ausdruck dann im Statement an zwei Stellen. Klarerweise wäre es auch möglich gewesen, den gesamten Ausdruck jeweils wieder zu wiederholen - der Code kann mit Hilfe einer CTE jedoch wesentlich klarer werden.
Wichtig zu beachten ist, dass man mit CTEs sehr sorgsam umgehen sollte. Der Planner optimiert CTEs anders wie 'normale' Statements und man sollte daher genau prüfen, ob es zu Performance Unterschieden kommt.