zoukankan      html  css  js  c++  java
  • Mysql_项目4:要求交换工资表里的男女性别(难度:简单)

    项目:交换工资表里的男女生性别(难度:简单)

    创建一个 salary表,如下所示,有m=男性 和 f=女性的值 。

    例如:

    | id | name | sex | salary |

    |----|------|-----|--------|

    | 1  | A    | m   | 2500   |

    | 2  | B    | f   | 1500   |

    | 3  | C    | m   | 5500   |

    | 4  | D    | f   | 500    |

     

    -- 创建表并插入数据

    -- 创建表
    CREATE TABLE salary (
    id int(11) NOT NULL,
    name varchar(20) NOT NULL,
    sex varchar(6) NOT NULL,
    salary int(10) DEFAULT NULL,
    PRIMARY KEY (`id`));
    
    -- 插入数据
    INSERT INTO salary VALUES ('1', 'A', 'f', '2500');
    INSERT INTO salary VALUES ('2', 'B', 'm', '1500');
    INSERT INTO salary VALUES ('3', 'C', 'f', '5500');
    INSERT INTO salary VALUES ('4', 'D', 'm', '500');

    -- 交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然)。要求使用一个更新查询,并且没有中间临时表。

    运行你所编写的查询语句之后,将会得到以下表:

    | id | name | sex | salary |

    |----|------|-----|--------|

    | 1  | A    | m  | 2500   |

    | 2  | B    | f   | 1500   |

    | 3  | C    | m   | 5500   |

    | 4  | D    | f  | 500    |

     

    方法1:

    UPDATE salary
    SET sex = if (sex = 'f','m','f');
    
    SELECT * from  salary;

    方法2:

    UPDATE salary
         SET sex = CASE
                     WHEN sex='f' THEN 'm'
                     ELSE 'f'
                   END;
    
    SELECT * from  salary;
  • 相关阅读:
    HDU5418.Victor and World(状压DP)
    POJ2686 Traveling by Stagecoach(状压DP)
    POJ3254Corn Fields(状压DP)
    HDU5407.CRB and Candies(数论)
    CodeForces 352D. Jeff and Furik
    CodeForces 352C. Jeff and Rounding(贪心)
    LightOj 1282 Leading and Trailing
    Ural 1057. Amount of Degrees(数位DP)
    HDU 2089 不要62 (数位DP)
    HDU5366 The mook jong (DP)
  • 原文地址:https://www.cnblogs.com/wodexk/p/10706581.html
Copyright © 2011-2022 走看看