Основное отличие использования WITH и SELECT INTO для создания таблиц в SQL заключается в том, что WITH не создаёт таблицу, а SELECT INTO создаёт её физически. 1
WITH используется для создания временного набора данных, который существует только во время выполнения запроса. 25 С помощью WITH можно назначать имена подзапросам и обращаться к ним в основном запросе, как к таблицам или представлениям. 1
SELECT INTO, в свою очередь, позволяет создать постоянную таблицу и заполнить её данными из временного набора. 2
Таким образом, WITH больше подходит для работы с временными данными и упрощения сложных запросов, а SELECT INTO — для создания постоянных таблиц.