My tests seem to confirm that
INSERT INTO a (x, y) SELECT y, x FROM b
maps b.y
to a.x
, i.e., the fields are matched o
Yes. It's because is not using ordinal position, it's just resolving the query by parts. First it Select from b, not taking into accounts columns names, since SQL don't resolve things using column names (you can make joins of different columns names). Then it will add the data to a, in the same way you specify the select in b. In fact, if you change the order, it will be inserted in other order ;)..