🥼
[SQL]INSERT SELECT とは(備忘録)
1.INSERT SELECT とは
「テーブル1からSELECTした結果を、テーブル2にINSERTする」というクエリです。
補足:
テーブル1= 登録元テーブル
テーブル2= 登録先テーブル
2.サンプルプログラム
Sample_1.sql
create table employee (
id INT(3) AUTO_INCREMENT NOT NULL,
name varchar(5) NOT NULL,
PRIMARY KEY (id)
);
create table sales_department (
id INT AUTO_INCREMENT NOT NULL,
employee_id INT NOT NULL,
name varchar(5) NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO employee (
name
)
VALUE ('大谷'),('山田'),('鈴木'),('山本'),('田中'),('佐藤');
-- employeeテーブルから抽出したレコードを、sales_departmentテーブルに登録
INSERT INTO sales_department (
employee_id,
name
)
SELECT *
FROM employee
WHERE id IN (1, 3, 5)
;
SELECT * FROM sales_department;
実行結果
id | employee_id | name |
---|---|---|
1 | 1 | 大谷 |
2 | 3 | 鈴木 |
3 | 5 | 田中 |
3.その他
・実行環境
Discussion