Update에 From을 써서 별칭 사용하기

기본적인 것이지만 갑자기 가물가물 함에 한번 정리해 봅니다.

최근에 관련 쿼리를 짜는데 업데이트에 별칭을 어떻게 쓰더라..? 하고 멍해있었습니다.

또 까먹기 전에 바로 정리를 해봅니다.

UPDATE TEMP_U
SET IsDelete = 'True'
FROM tblUser AS TEMP_U
WHERE CreateDate >= '2015-01-01'

tblUser라는 테이블의 별칭을 TEMP_U로 주고 Update문에서 별칭으로 지정해서 업데이트를 할 수 있습니다.


좀더 응용해서 아래와 같이 사용 할 수도 있습니다.

UPDATE TEMP_U
SET IsDelete = 'True'
FROM tblUser AS TEMP_U, tblUserCategory AS TEMP_UC
WHERE
  TEMP_U.UserID = TEMP_UC.UserID
  AND TEMP_UC.type = 'guest'

tblUser와 tblUserCategory를 UserID로 비교하고 유저카테고리의 타입이 guest인 유저를 지우는 쿼리입니다.

이렇게 여러테이블을 이용하여 조건을 찾은 후 별칭을 이용하여 주어진 조건에 해당 테이블에 대한 데이터 변경이 가능합니다.

응용해서 join도 사용 할 수 있겠죠?


응용은 여러분의 몫.. 전 그럼이만.!