同じテーブルにSQLでSELECTしてINSERTする方法
今回は同じテーブルに対してWHERE句でレコードを絞り込みをしてカラムの値を変更してSELECT文でレコードの値を取得してINSERTをする方法を解説します。
テーブルの構成
テーブル名を「demo」とします。
カラムは下記があるとします。
- name
- age
- sex
- birth
nameカラムの値が「john」の値を「あべ」に変えたレコードをdemoテーブルにINSERTする状況を考えます。
SQL文
下記になります。
INSERT INTO demo (
name,
age,
sex,
birth
) SELECT
'あべ',
age,
sex,
birth,
FROM demo
WHERE name = 'john'
;nameカラムの値を「john」から「あべ」に変えたいのでWHERE句を使ってnameカラムの値がjohnのレコードを取得してjohnをあべに変えたレコードをSELECTで取得すればいいです。