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
반응형
그리드형
'IT > MSSQL' 카테고리의 다른 글
[MSSQL] 기본키(Primary Key) 제약조건 - 생성 추가, 삭제(3가지 방법) (0) | 2023.03.08 |
---|---|
[MSSQL] NULL, NOT NUL 제약조건 - 생성, 조회 (0) | 2023.03.08 |
[MSSQL] 데드락(교착상태) 리포트 생성 및 추적 방법 (XML 설명 추가) (0) | 2023.03.01 |
[MSSQL] SQL Network Interfaces, error: 26 (Sql Server browser 시작 안됨) (0) | 2023.03.01 |
[MSSQL] 컬럼 추가 2개이상/여러개(ALTER TABLE 테이블명 ADD 컬럼명) (0) | 2023.02.18 |
댓글