기술스택을 쌓아보자/SQL

[조각SQL, DB] CASE 구문을 알아보자!

소리331 2021. 11. 27. 00:37
반응형

코딩을 하다보니 이런 요구사항이 생겼다.

- 특정 값이 있는 행의 다른 열의 값을 바꾸고 싶다, 그것도 한번에 여러개!

단순 UPDATE 구문을 쓰거나, 여러개를 하나씩 쪼개서 작업하는 방식도 있을 수 있으나,

이걸 간지나게 한방에 등록하고 싶었다. 

 

그래서 CASE 문이 나왔다!

UPDATE table_name
SET
    col2=CASE table_name.col1
        WHEN 'x' THEN 'y'
        WHEN 'a' THEN 'b'
        WHEN 'c' THEN 'd'
    END
WHERE
    table_name.col1 IN ('x', 'a', 'c')

 

위의 구문처럼, update 뿐만 아니라 select랑도 같이 쓸 수 있다!

반응형