SQL: テーブル間でのデータのコピー
頻繁に実行される SQL タスクには、あるテーブルから別のテーブルへのデータ転送が含まれます。 特定の構文はデータベース システムによって若干異なる場合がありますが、広く互換性のあるアプローチでは INSERT INTO ... SELECT
ステートメントを使用します。
データ挿入のための標準 SQL 構文
次の構文は、さまざまなデータベース管理システム (DBMS) 間で高度な互換性を提供します。
<code class="language-sql">INSERT INTO target_table (column1, column2, ...) SELECT source_column1, source_column2, ... FROM source_table [WHERE condition];</code>
内訳は次のとおりです:
target_table
: 新しいデータを受信するテーブル。column1, column2, ...
: データが挿入される target_table
内の列。 順序は SELECT
ステートメントと一致する必要があります。source_column1, source_column2, ...
: データを提供する source_table
内の列。 データ型は、対応する target_table
列と互換性がある必要があります。source_table
: データを提供するテーブル。WHERE condition
(オプション): 挿入前に source_table
からのデータをフィルターします。 条件を満たす行のみがコピーされます。DBMS の互換性
この INSERT INTO ... SELECT
メソッドは通常、次のような幅広い DBMS で機能します。
具体例
「employees」テーブルと「Department_summary」テーブルがあるとします。 department_summary
に従業員の部門名を入力するには:
<code class="language-sql">INSERT INTO department_summary (department_name) SELECT department FROM employees;</code>
これにより、employees
テーブルのすべての一意の部門名が department_name
テーブルの department_summary
列に挿入されます。 重複する部門名は 1 回だけ挿入されることに注意してください。 重複を別の方法で処理する必要がある場合は、ロジックを追加する必要があります (例: GROUP BY
と集計関数の使用)。
以上が標準 SQL 構文を使用してあるテーブルから別のテーブルにデータを挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。