MSSQL UPDATE FROM - SELECT JOIN 결과 값 UPDATE 하기

MSSQL UPDATE FROM – SELECT JOIN 결과 값 UPDATE 하기

MS SQL에서는 SELECT JOIN 결과 값을 바로 UPDATE 할 수 있게 UPDATE FROM 구문을 제공합니다. 저 같은 경우는 SELECT 이후에 결과 값을 확인 후 SELECT 절을 주석 처리와 UPDATE FROM 절을 추가해서 UPDATE를 처리합니다.

그럼 간단한 예제를 통해서 UPDATE FROM 구문에 대해서 알아보죠.

포스트 기준

– Microsoft SQL Server 2019

– SSMS 18.10

사용 예제

1. 구문

UPDATE SET ~ FROM ~ WHERE ~


2. 테이블 예시

-- 총 9건 (학번, 과목, 점수)
SELECT *
  FROM BS_DEMO_8_3
     
-- 총 9건 (수강 내역)
-- 점수 없음 => 점수 UPDATE 처리
SELECT *
  FROM BS_DEMO_8_4
테이블 예시


3. UPDATE FROM 구문을 사용하여 UPDATE 처리

-- 점수 UPDATE 처리
UPDATE A
   SET A.SCORE = B.SCORE
--SELECT A.SCORE, B.SCORE, A.*
  FROM BS_DEMO_8_4 A
       INNER JOIN BS_DEMO_8_3 B ON A.P_ID = B.P_ID AND A.S_ID = B.S_ID
   
-- 데이터 확인
SELECT *
  FROM BS_DEMO_8_4
UPDATE FROM 구문을 사용하여 UPDATE 처리


4. UPDATE FROM 구문을 사용하지 않고 UPDATE 처리

※ 비추천 – 먼저 SELECT로 데이터 확인 후 UPDATE FROM 구문으로 UPDATE 처리

-- 점수 UPDATE 처리
UPDATE BS_DEMO_8_4
   SET SCORE = (SELECT SCORE
                  FROM BS_DEMO_8_3
                 WHERE P_ID = BS_DEMO_8_4.P_ID
                   AND S_ID = BS_DEMO_8_4.S_ID)
     
-- 데이터 확인
SELECT *
  FROM BS_DEMO_8_4
UPDATE FROM 구문을 사용하지 않고 UPDATE 처리

함께 보면 좋은 게시글

위로 스크롤