概要:このチュートリアルでは、SQL Server INSERT INTO SELECTの使用方法を学習します。他のテーブルのデータをテーブルに追加するステートメント。
SQLServerの概要INSERTINTOSELECTステートメント
他のテーブルのデータをテーブルに挿入するには、次のSQLServerを使用しますINSERT INTO SELECTステートメント:
Code language: SQL (Structured Query Language) (sql)
この構文では、ステートメントはをtarget_tableに挿入します。
queryは有効な他のテーブルからデータを取得するステートメント。 column_listで指定された列に対応する値を返す必要があります。
TOP句の部分は次のとおりです。オプション。これにより、ターゲットテーブルに挿入されるクエリによって返される行数を指定できます。 PERCENTオプションを使用すると、ステートメントは代わりに行のパーセントを挿入します。常にTOP句をORDER BY句とともに使用することがベストプラクティスであることに注意してください。
SQL Server INSERT INTOSELECTの例
デモ用にaddressesという名前のテーブルを作成しましょう。
1)別のテーブルの例からすべての行を挿入します
次のステートメントは、customersテーブルのすべてのアドレスをaddressesテーブルに挿入します。
確認するには挿入の場合、次のクエリを使用します。
Code language: SQL (Structured Query Language) (sql)
結果は次のとおりです:
2)別のテーブルの例からいくつかの行を挿入する
場合によっては、いくつかを挿入する必要があります別のテーブルからテーブルへの行。この場合、WHERE句の条件を使用して、クエリから返される行数を制限します。
次のステートメントは、検索されたストアのアドレスを追加します。 Santa CruzおよびBaldwin内のaddressesテーブル:
SQLサーバーは、2つの行が正常に挿入されたことを示す次のメッセージを返しました。
Code language: SQL (Structured Query Language) (sql)
3)行の上位Nを挿入します
まず、次のステートメントを使用して、addressesテーブルからすべての行を削除します。
Code language: SQL (Structured Query Language) (sql)
次に、上部を挿入します。 10人の顧客を名と姓で並べ替えたら、次のようにINSERT TOP INTO SELECTステートメントを使用します。
SQL Serverは、10行が挿入されたことを示す次のメッセージを返しました。
Code language: SQL (Structured Query Language) (sql)
4)行の上位パーセントを挿入します
絶対数の行を使用する代わりに、cパーセント数の行をテーブルに挿入します。
まず、addressesテーブルのすべての行を切り捨てます:
Code language: SQL (Structured Query Language) (sql)
次に、customersテーブルの行の上位2パーセントを名と姓で並べ替えてaddressesテーブル:
SQL Serverは、145行が正常に挿入されたことを示す次のメッセージを発行しました。
Code language: SQL (Structured Query Language) (sql)
このチュートリアルでは、 SQL Server INSERT INTO SELECTステートメントを使用して他のテーブルの行をテーブルに挿入する方法を学習しました。