参考にさせていただきます
===CHK===
UPDATE DEPT_BK3 DBK
SET DNAME =
(
SELECT DNAME
FROM DEPT D
WHERE DBK.DEPTNO = D.DEPTNO
)
where KOUSHINBI < '2022/10/05'
===CHK===
WHERE EXISTS(
SELECT 1
)
例2. UPDATE SELECT 複数列パターン
-
- SELECTした結果でUPDATEする
UPDATE emp
SET (address,add_no) = (SELECT address,add_no FROM addno WHERE add_no = '100-0001')
WHERE empno = 'A001';
OracleのUPDATE SELECT(SELECTした結果でUPDATEするSQL) | Oracle初心者でもスッキリわかる
UPDATE TT_売上明細 TT
2 SET 備考 = (
3 SELECT 商品名 FROM TM_商品 TM
4 WHERE TM.商品コード = TT.商品コード
5 )
6 WHERE EXISTS (
7 SELECT 1
8 FROM TM_商品 TX
9 WHERE TX.商品コード = TT.商品コード
10 );
Oracle SQL(データの更新 :UPDATE文の基礎、クエリー結果やEXISTS句を用いた更新処理)
UPDATE employees a
SET department_id =
(SELECT department_id
FROM departments
WHERE location_id = '2100'),
(salary, commission_pct) =
(SELECT 1.1*AVG(salary), 1.5*AVG(commission_pct)
FROM employees b
WHERE a.department_id = b.department_id)
WHERE department_id IN
(SELECT department_id
FROM departments
WHERE location_id = 2900
OR location_id = 2700);
https://docs.oracle.com/cd/E82638_01/sqlrf/UPDATE.html#GUID-027A462D-379D-4E35-8611-410F3AC8FDA5
UPDATE テーブル1
SET カラム2 = 更新後の値
WHERE EXISTS (
SELECT カラム1 FROM テーブル2
WHERE 条件式
);
Oracle UPDATE文での副問い合わせを実行する方法|UPDATE文で副問合せを実行する構文・具体例 | テックマガジン from FEnetインフラ
UPDATE
(
SELECT
受注データ.製品名,
受注データ.数量,
受注データ.金額,
製品マスタ.価格
FROM
受注データ
INNER JOIN
製品マスタ
ON 受注データ.製品コード = 製品マスタ.製品コード
)
SET
金額 = 数量 * 価格;
別のテーブル上の項目を使用して項目を更新(UPDATE)することは可能ですか? | WingArc1st
SELECT * FROM user WHERE EXISTS (
SELECT * FROM user_sub
WHERE user.id = user_sub.id AND user_sub.job = "プログラマー"
);
【SQL】5分でわかる! EXISTSでサブクエリを扱う方法 | 侍エンジニアブログ
update [Database1].dbo.profile
set name=a.name, nameyomi=a.nameyomi, englishname=a.englishname, comment=a.comment
from [Database2].dbo.profile as a
where profile.id=a.id
データベース間でレコードを更新する(テーブル内レコードをまとめて更新) : SQL Server | iPentec
UPDATE 顧客購買集計 SET
累計購入金額 = 累計購入金額 +
(SELECT 購入金額
FROM 顧客日次購買
WHERE 顧客ID = 顧客購買集計.顧客ID
AND 購入日 = TO_CHAR(SYSDATE-1, 'YYYY/MM/DD'))
WHERE EXISTS (SELECT 'x' FROM 顧客日次購買
WHERE 顧客ID = 顧客購買集計.顧客ID
AND 購入日 = TO_CHAR(SYSDATE-1, 'YYYY/MM/DD'));