Порядок имеет значение.Имена не имеют значения.
Лучше явно указывать имена столбцов в том порядке, в котором они вам нужны, а не с помощью select *, а не опускать их полностью со стороны вставки.
Это означает, что это совершенно очевидно для всехЕсли вы прочитаете, что делает код, нет опасности того, что механизм SQL неправильно истолковывает инструкцию, а также любые изменения в определении любой таблицы (например, добавленные поля или измененный порядок) не нарушат запрос.
Например (используя сценарий, в котором ни имя, ни порядок не совпадают):
INSERT INTO Table2 (field1, field5, field2)
SELECT fieldA, fieldC, fieldX
FROM Table1
WHERE ID = 101