INSERT INTO SELECT 語句用來將一個表格中的資料插入另一個表格。它支援插入所有列或特定列,並可以透過 WHERE 子句使用條件進行篩選。透過指定目標表、列清單和來源表,可輕鬆地從一個表將資料轉移到另一個表。

Oracle 中的INSERT INTO SELECT 使用
意義:
INSERT INTO SELECT 語句將一個表中的資料插入到另一個表中。
語法:
1 2 3 4 | <code>INSERT INTO <目标表>
SELECT <列列表>
FROM <源表>
[WHERE <条件>]</code>
|
登入後複製
參數:
-
<目標表>:要插入資料的目標表。
-
<列清單>:要插入的列,可以指定所有列或特定列。
-
<來源表>:要從其取得資料的來源表。
-
[WHERE <條件>]:可選的條件,用於過濾來源表中的資料。
用法:
-
#插入所有欄位:
如果列在列表
中沒有指定列,則會插入來源表中的所有列。
1 2 3 | <code>INSERT INTO target_table
SELECT *
FROM source_table;</code>
|
登入後複製
登入後複製
-
插入特定列:
如果列清單
中指定了特定列,則只插入指定的列。
1 2 3 | <code>INSERT INTO target_table (col1, col2)
SELECT col1, col2
FROM source_table;</code>
|
登入後複製
-
使用條件:
WHERE
子句可用來篩選來源表中的數據,只插入滿足條件的行。
1 2 3 4 | <code>INSERT INTO target_table
SELECT *
FROM source_table
WHERE column_name > 10;</code>
|
登入後複製
範例:
假設我們有以下兩個表格:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <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
中,我們可以使用以下查詢:
1 2 3 | <code>INSERT INTO target_table
SELECT *
FROM source_table;</code>
|
登入後複製
登入後複製
插入後,target_table
將如下所示:
1 2 3 4 5 6 7 8 9 | <code>+----+----------+
| id | name |
+----+----------+
| 4 | Bob Smith |
| 5 | Sue Brown |
| 1 | John Doe |
| 2 | Jane Smith |
| 3 | Mary Jones |
+----+----------+</code>
|
登入後複製
以上是oracle中insert into select用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!