본문 바로가기
IT/MSSQL

[MSSQL] update시 select문 조인하여 사용하기

by 베베야 2023. 3. 8.
728x90

MSSQL update구문 사용시 select 값으로 조인 비교하여 업데이트를 해야하는 경우가 있다.

이런 경우 어떻게 사용하는지 아래에서 예제와 함께 간단히 알아보자.

 

1.일반적인 UPDATE 구문

먼저 일반적인 업데이트 구문이다.

UPDATE 테이블명 SET

     필드명 = 변경할 값 or 파라미터

Where 조건문

 

2.UPDATE SELECT구문

1) 2개의 상품 테이블을 만들고 데이터를 채워 넣는다.

--첫번째 상품 테이블 생성

CREATE TABLE production

(

ord_code char(4)

,ord_name varchar(100)

,price int

,CONSTRAINT PK_production PRIMARY KEY (ord_code)

)

--첫번째 상품 데이터 입력

insert into production values ('0001','사과',1000)

insert into production values ('0002','배',2000)

insert into production values ('0003','바나나',3000)

insert into production values ('0004','감',4000)

select * from production

 

--두번째 상품 테이블 생성
CREATE TABLE production2
(
	ord_code char(4)
	,ord_name varchar(100)
	,price int
	,CONSTRAINT PK_production2 PRIMARY KEY (ord_code)
)
--두번째 상품 데이터 입력
insert into production2 values ('0001','사과',2000)
insert into production2 values ('0002','배',4000)
insert into production2 values ('0003','바나나',6000)
insert into production2 values ('0004','감',8000)
select * from production2


2)production 테이블의 상품가격(price)을 production2 테이블 상품가격(price)으로 업데이트를 진행한다(2가지 방법)

--첫번째
update production set production.price = b.price
from production as a,production2 as b
where a.ord_code =b.ord_code

--두번째
update production set production.price = b.price
from production as a inner join production2 as b on (a.ord_code =b.ord_code)
--결과 확인
select * from production

반응형
그리드형

댓글