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 only by ordinal position and not by name. Is this always the case, i.e., can I rely on that behaviour? Unfortunately, the documentation does not specify this (or I didn't find it).
 
     
     
    