SQL

[MSSQL] Delete, Update - Delete, Update문 JOIN, LEFT JOIN ... 사용하기

금월하 2021. 5. 14. 14:07
반응형

MSSQL에서 테이블명, 조건문에 따른 Delete 또는 다른 테이블과 Join 하여 조회한 데이터를 삭제하는 방법이 있습니다.

 

테이블명, 조건문에 따른 Delete의 경우 아래와 같이 사용합니다.

DELETE FROM TABLE1
WHERE [조건문]

 

다른 테이블과 JOIN 한 결과를 가지고 있는 데이터를 삭제해야 하는 경우는 아래와 같이 사용합니다.

DELETE a
FROM
TABLE1 a
JOIN TABLE2 b on a.id = b.id
WHERE [조건문]

위와 같이 TABLE1, TABLE2를 JOIN 하고 조건문을 사용하여 TABLE1의 데이터를 삭제할 수 있습니다.

 

Update문의 경우

일반적인 Update를 사용할 때는 아래와 같이 사용하지만

UPDATE TABLE1
SET
id = 4
where data = 'temp'

 

다른 테이블과 JOIN 할 경우 아래와 같이 사용 가능합니다.

UPDATE a
SET
a.id = 4
FROM TABLE1 a
JOIN TABLE2 b on b.id = a.id
where b.data2 = 'test'

 

 

Update문

UPDATE 테이블이름

형식과

Delete문

DELETE 테이블이름

 

처럼 앞을 하나의 블록으로 생각해 보면 결국 사용 방법은 같습니다.