MySQL入门Day3

项目三

超过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() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,947评论 0 5
  • 一. Java基础部分.................................................
    wy_sure阅读 9,248评论 0 11
  • 1 1 1 1 2 2 2 2
    张军_ad08阅读 1,449评论 0 0
  • 皮肤经历着衰老,头发也不例外!当头发变细,头发不再蓬松 发量变少之后,你的男神分分钟沦落成一个又老又猥琐的大叔 女...
    喵喵喵崽崽阅读 4,699评论 4 20
  • 今天一位朋友找我吃饭聊天,探讨一件事,他准备参与一个整体家装公司,目前内部准备印一批宣传资料,问我内容怎么整理,宣...
    早知今日阅读 1,664评论 0 1