一個表中數據使用另一個表中獲取的或者一個表的數據增長一條。sql
INSERT INTO SELECT 語句從一個表複製數據,而後把數據插入到一個已存在的表中。目標表中任何已存在的行都不會受影響。數據庫
INSERT INTO table2 SELECT * FROM table1[where];
[]--表示能夠使用where來肯定條件。oracle
舉例以下:函數
insert into menu_tree select * from menu_tree where sid='6';
INSERT INTO table2 (column_name(s)) SELECT column_value(s) FROM table1;
column_name(s)--表示表中存在的列,column_value(s)--表示這些列對應的值。sqlserver
舉例以下:測試
insert into menu_tree(SID,CODE,NAME,ORDER_VAL) select '10','10','一個部','10' from menu_tree where sid = '6'
SELECT INTO 語句從一個表複製數據,而後把數據插入到另外一個新表中。code
注意:server
MySQL 數據庫不支持 SELECT ... INTO 語句,但支持 INSERT INTO ... SELECT 。table
SELECT * INTO newtable [IN externaldb] FROM table1;
sqlserver中已測試,Oracle中未作測試。oracle中,這個select into不能在語句中執行,必需要放到存儲過程,函數等等裏邊執行。select
SELECT column_name(s) INTO newtable [IN externaldb] FROM table1;
sqlserver中已測試,Oracle中未作測試。oracle中,這個select into不能在語句中執行,必需要放到存儲過程,函數等等裏邊執行