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
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
함께 보면 좋은 게시글
- MSSQL DELETE – JOIN, EXISTS, TOP 사용하여 데이터 삭제하기
- MSSQL SELECT INTO 테이블 구조 및 데이터 복사하기 (SELELCT 절)
- MSSQL INSERT INTO SELECT – SELECT 와 동시에 INSERT 하기
- MSSQL 논리 연산자 BETWEEN, EXISTS, IN, LIKE, NOT 등 (WHERE 절)
- MSSQL 테이블 변수 생성 및 사용 방법
이 글이 도움이 되셨다면 공유 부탁 드립니다.


![[SSMS] 로컬 서버(PC)에 설치한 MSSQL 서버 연결하는 방법](https://bluesharehub.com/wp-content/uploads/2022/02/img_41.png)
