unote 書けば書くほどに

memosql

参考にさせていただきます

===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'));

https://www.dbsheetclient.jp/blog/?p=784