CTE (общее табличное выражение, часть, заключенная в «с») - это, по сути, одноразовое представление. Если вы думаете об этом с точки зрения временного представления, возможно, ответ станет более ясным. Насколько я знаю, интерпретатор просто сделает эквивалент копирования / вставки всего, что находится в CTE, в основной запрос, где бы он ни находил ссылку.
Я уверен, что есть внешние случаи, когда это кажется полезным, но чаще всего я бы предположил, что простое присутствие самого CTE не улучшит производительность запроса. Это поможет с удобочитаемостью и возможностью повторного использования в этом единственном операторе выбора (т. Е. Вам не нужно будет повторно вводить один и тот же подзапрос несколько раз), но я не верю, что это волшебным образом заставит вещи работать быстрее ( при прочих равных условиях). Конечно, если ваш запрос структурирован в CTE иначе, чем вы бы делали с подзапросами, то вполне возможно, что CTE в этот момент работает быстрее, но теперь вы сравниваете яблоки с апельсинами.