面试的一道老题,原题如下:
table如下,共有5个科目,所有的题目都必须用一条语句处理:
+---------+-------------+------+
| name |lesson |mark |
+---------+-------------+------+
| John | Math | 60 |
| Mike | Eng | 70 |
| Mark | History | 80 |
+---------+-------------+------+
1.有一科不及格的学生名单;
2.不及格科目超过2门的学生名单;
3.所有科目都不及格的学生名单;
4.总分前三的所有学生名单(包括并列)
5.各科成绩最高的所有学生名单(包括并列)
扩展(假设在此表中,所有的同学至少选了一门课,并有成绩;所有的课程至少被一位同学选修了,并有成绩记录):
6.查询哪位学生的哪门课没有成绩;
7.如果对于没有成绩的课程以0分计,重做1,2,3.