Разница между предложением WITH и подзапросами в PostgreSQL заключается в их назначении и использовании:
Предложение WITH позволяет задать один или несколько подзапросов, к которым затем можно обратиться по имени в основном запросе. 12 Эти подзапросы действуют как временные таблицы или представления в процессе выполнения главного запроса. 1 Ключевое свойство запросов WITH в том, что они обычно вычисляются один раз для всего основного запроса, даже если в нём содержатся несколько ссылок на них. 1
Подзапросы представляют собой запрос внутри запроса и позволяют сделать выборку из ещё какого-то набора данных (таблицы), отличного от основного запроса, а потом передать результат этой выборки в основной запрос. 4 Подзапросы могут присутствовать в предложениях SELECT, FROM, WHERE и HAVING и использоваться с SQL-операторами SELECT, INSERT, UPDATE и DELETE. 4