Предложение WITH используется для факторинга подзапроса и также называется общими табличными выражениями.
Синтаксис: WITH tempTable_Name AS (SELECT column_Name ..... FROM table_Name)
Используется предложение ONдля объединения столбцов с разными именами
Синтаксис: SELECT * ИЗ таблицы T1 СЛЕДУЮЩАЯ таблица соединения T2 ON T1.column_Name = T2.column_Name