SQL 查询反转 table 内容

SQL query to invert table contents

我有一个名为 Color_Table 的 table,它只有一个字段 Color,其内容是:
Blue
Blue
Blue
Red
现在我必须更新此 table 的内容,以便所有具有 Color = Blue 的记录都更改为 Color = Red,反之亦然。更新后的 table 将如下所示:
Red
Red
Red
Blue
这是我所做的
UPDATE Color_Table SET Color = "TempRed" WHERE Color = "Blue";

UPDATE Color_Table SET Color = "Blue" WHERE Color = "Red";

UPDATE Color_Table SET Color = "Red" WHERE Color = "TempRed";

有没有其他地方我们可以使用更少的查询而不需要额外的 space ?

您可以一次性完成此操作 update:

update color_table
    set color = (case when color = 'Blue' then 'Red'
                      when color = 'Red' then 'Blue'
                 end)
    where color in ('Blue', 'Red');

这个怎么样:

UPDATE Color_Table SET Color = 
         CASE WHEN Color='Red' THEN 'Blue' 
              WHEN Color='Blue' THEN 'Red' 
              ELSE Color 
         END