概要:このチュートリアルでは、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
ステートメントを使用して他のテーブルの行をテーブルに挿入する方法を学習しました。