===== INSERT INTO SELECT =====
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";
* Spalte :id ist ein binding Parameter, der, genau wie :Basis_1, beim Aufruf an SQL übergeben wird
* Spalte id wird im Unter-Select ermittelt
* Spalte distance wird ebenfalls im Unter-SELECT ermittelt