sqldatabasesyntaxdatabase-agnosticansi-sql-92

Insert into ... values ( SELECT ... FROM ... )


I am trying to INSERT INTO a table using the input from another table. Although this is entirely feasible for many database engines, I always seem to struggle to remember the correct syntax for the SQL engine of the day (MySQL, Oracle, SQL Server, Informix, and DB2).

Is there a silver-bullet syntax coming from an SQL standard (for example, SQL-92) that would allow me to insert the values without worrying about the underlying database?


Solution

  • Try:

    INSERT INTO table1 ( column1 )
    SELECT  col1
    FROM    table2  
    

    This is standard ANSI SQL and should work on any DBMS

    It definitely works for: