Mit dem SQL-Statement „INSERT INTO SELECT“ können einzelne Spalten oder ein gesamter Datensatz aus einer SELECT-Anweisung als neuer Datensatz hinzugefügt werden.
Beispiel 1:
Alle Spalten sollen in den neuen Datensatz eingefügt werden (Datensatz kopieren):
INSERT INTO USER SELECT * FROM USER WHERE id = 314
Beispiel 2:
Zwei von drei Spalten der Tabelle „neighborhood“ sollen mit Inhalten aus der Tabelle „users“ gefüllt werden:
INSERT INTO neighborhood SELECT :id, id, distance FROM ( SELECT id, ST_Distance ( ST_GeogFromText( :basis_1 ), users.basis_1 ) AS distance FROM users WHERE lastlogin + INTERVAL '7 days' > now() ) AS users WHERE distance > 0 ORDER BY distance LIMIT 500";