INSERT INTO SELECT ステートメントは、あるテーブルから別のテーブルにデータを挿入するために使用されます。すべての列または特定の列の挿入をサポートし、WHERE 句による条件を使用してフィルタリングできます。ターゲットテーブル、列リスト、ソーステーブルを指定することで、あるテーブルから別のテーブルにデータを簡単に転送できます。
意味:
INSERT INTO SELECT ステートメントは、あるテーブルから別のテーブルにデータを挿入します。
構文:
<code>INSERT INTO <目标表> SELECT <列列表> FROM <源表> [WHERE <条件>]</code>
パラメータ:
使用法:
すべての列を挿入:
Column list
で列が指定されていない場合、ソーステーブルのすべての列が挿入されます。 列列表
中没有指定列,则会插入源表中的所有列。
<code>INSERT INTO target_table SELECT * FROM source_table;</code>
插入特定列:
如果 列列表
中指定了特定列,则只插入指定的列。
<code>INSERT INTO target_table (col1, col2) SELECT col1, col2 FROM source_table;</code>
使用条件:
WHERE
子句可用于过滤源表中的数据,只插入满足条件的行。
<code>INSERT INTO target_table SELECT * FROM source_table WHERE column_name > 10;</code>
示例:
假设我们有以下两个表:
<code>source_table: +----+----------+ | id | name | +----+----------+ | 1 | John Doe | | 2 | Jane Smith | | 3 | Mary Jones | +----+----------+ target_table: +----+----------+ | id | name | +----+----------+ | 4 | Bob Smith | | 5 | Sue Brown | +----+----------+</code>
要从 source_table
中插入所有行到 target_table
中,我们可以使用以下查询:
<code>INSERT INTO target_table SELECT * FROM source_table;</code>
插入后,target_table
<code>+----+----------+ | id | name | +----+----------+ | 4 | Bob Smith | | 5 | Sue Brown | | 1 | John Doe | | 2 | Jane Smith | | 3 | Mary Jones | +----+----------+</code>
列リスト
で特定の列が指定されている場合、指定された列のみが挿入されます。 🎜rrreee🎜🎜🎜🎜条件の使用: 🎜🎜🎜WHERE
句を使用して、ソーステーブル内のデータをフィルターし、条件を満たす行のみを挿入できます。 🎜rrreee🎜🎜🎜例: 🎜🎜🎜次の 2 つのテーブルがあると仮定します: 🎜rrreee🎜 source_table
から target_table
にすべての行を挿入するには、次のようにします。次のクエリを使用します: 🎜rrreee🎜 挿入後、target_table
は次のようになります: 🎜rrreee以上がOracleでinsert into selectを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。