sql >> データベース >  >> RDS >> Sqlserver

テーブルのすべての値をSQLの別のテーブルに挿入します

    insertステートメントには、実際にはそれを行うための構文があります。ただし、「*」を選択するよりも列名を指定する方がはるかに簡単です。

    INSERT INTO new_table (Foo, Bar, Fizz, Buzz)
    SELECT Foo, Bar, Fizz, Buzz
    FROM initial_table
    -- optionally WHERE ...
    

    何らかの理由でこの投稿にいくつかの反対票が集まっているので、これを明確にしたほうがいいでしょう。

    INSERT INTO ... SELECT FROM構文は、挿入先のテーブル(上記の例では「new_table」)がすでに存在する場合に使用します。他の人が言っているように、SELECT ... INTO構文は、コマンドの一部として新しいテーブルを作成する場合に使用します。

    コマンドの一部として新しいテーブルを作成する必要があるかどうかを指定しなかったため、宛先テーブルがすでに存在する場合はINSERT INTO ...SELECTFROMで問題ありません。



    1. OracleのCOALESCE()関数

    2. CLOBフィールドをファイルにダンプしますか?

    3. SelectQueryでGroupbyを使用してHaving句を適用する方法-SQLServer/TSQLチュートリアルパート131

    4. 12c廃止された機能