Да, вы правы.
Порядок полей в операторе INSERT INTO
не обязательно должен соответствовать определению таблицы.
Но псевдонимы / имена полей SELECT
будут игнорироваться, а значения вставляются в поля, названные оператором INSERT INTO
.
CREATE TABLE test (
a AS INT,
b AS INT,
c AS INT
)
INSERT INTO
test (
b,
c,
a
)
SELECT
1 AS a,
2 AS b,
3 AS c
SELECT * FROM test
a | b | c
---+---+---
3 | 1 | 2