SQL/MS-SQL & SQL Server Management Studio

mssql update 하위쿼리 (서브쿼리)

삐뚤어진 개발자 2020. 3. 5.

mssql update문 작성시, 다른 테이블의 하위쿼리 값으로 수정해야 할때가 있다.

 

처음엔 아래와 같이 TEST_B 테이블 서브 쿼리를 집어 넣었다. 

하지만 이 문법은 MS SQL 에서 지원하지 않는다.

UPDATE TEST_A  
SET COLUMN_1 = (SELECT COULUMN_2 FROM TEST_B)

 

 

 

그래서 UPDATE 문에 하위쿼리(서브쿼리)를 넣고 싶다면, 

해당 테이블에 조인을 걸어서 넣어는 방법을 사용해야한다.

 

UPDATE TEST_A  
SET A.COLUMN_2 = B.COLUMN_2
FROM TEST_A A JOIN TEST_B B
	ON A.COLUMN_1 = B.COLUMN_1

위와 같이 작성하면 하위쿼리와 같은 효과를 볼 수있다.

댓글