美文网首页
MySQL入门Day3

MySQL入门Day3

作者: 你的小小崔 | 来源:发表于2019-03-01 21:50 被阅读0次

    项目三

    超过5名学生的课(难度:简单)
    创建如下所示的courses 表 ,有: student (学生) 和 class (课程)。
    例如,表:
    ±--------±-----------+
    | student | class |
    ±--------±-----------+
    | A | Math |
    | B | English |
    | C | Math |
    | D | Biology |
    | E | Math |
    | F | Computer |
    | G | Math |
    | H | Math |
    | I | Math |
    | A | Math |
    ±--------±-----------+

    编写一个 SQL 查询,列出所有超过或等于5名学生的课。
    应该输出:
    ±--------+
    | class |
    ±--------+
    | Math |
    ±--------+
    Note:
    学生在每个课中不应被重复计算。
    解答:
    1.建表:


    image.png

    2.插入数据:


    image.png

    3.用group by分组,再用having关键字过滤一下class小于5的:


    image.png

    项目四

    交换工资(难度:简单)
    创建一个 salary表,如下所示,有m=男性 和 f=女性的值 。
    例如:


    image.png

    交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然)。要求使用一个更新查询,并且没有中间临时表。
    运行你所编写的查询语句之后,将会得到以下表:


    image.png

    |
    解答:使用IF表达式
    IF(expr1,expr2,expr3)
    如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

    相关文章

      网友评论

          本文标题:MySQL入门Day3

          本文链接:https://www.haomeiwen.com/subject/npojuqtx.html