1

UPDATE クエリで影響を受けるレコードの数を調べるために、SELECT クエリを作成しました。

SELECT と UPDATE が異なるレコード数を返しました。

ここに私のSELECTクエリがあります:

SELECT *
FROM T1
JOIN T2 on T1.ID = T2.ID
WHERE T1.Name IS NULL
  AND T2.Status = 'happy'

これが私のUPDATEクエリです:

UPDATE T1
SET T1.Name = T2.Name
FROM T1
JOIN T2 on T1.ID = T2.ID
WHERE T1.Name IS NULL
  AND T2.Status = 'happy'

SELECT は 19K レコードを返し、UPDATE は 12K レコードに影響します。WHERE 句は、SELECT と UPDATE の両方でまったく同じであることに注意してください。

SELECT クエリと UPDATE クエリの間のレコード数の不一致の原因は何ですか?

ここで何が起こっているのかを理解するのを手伝ってくれませんか?

前もって感謝します!!

4

4 に答える 4