🥼

[SQL]INSERT SELECT とは(備忘録)

2024/02/15に公開

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