Mysql 结课

在一个RDB中,有以下四张表的定义:

#学生表
CREATE TABLE Student(
s_id VARCHAR(20), #学生编号
s_name VARCHAR(20) NOT NULL DEFAULT ‘’, #学生姓名
s_birth VARCHAR(20) NOT NULL DEFAULT ‘’, #出生年月
s_sex VARCHAR(10) NOT NULL DEFAULT ‘’, #学生性别
PRIMARY KEY(s_id)
);

#课程表
CREATE TABLE Course(
c_id VARCHAR(20), #课程编号
c_name VARCHAR(20) NOT NULL DEFAULT ‘’, #课程名称
t_id VARCHAR(20) NOT NULL, #教师编号
PRIMARY KEY(c_id)
);

#教师表
CREATE TABLE Teacher(
t_id VARCHAR(20), #教师编号
t_name VARCHAR(20) NOT NULL DEFAULT ‘’, #教师姓名
PRIMARY KEY(t_id)
);

#成绩表
CREATE TABLE Score(
s_id VARCHAR(20), # 学生编号
c_id VARCHAR(20), # 课程编号
s_score INT(3), # 分数
PRIMARY KEY(s_id,c_id)
);

提供一组测试数据如下:
#插入学生表测试数据
insert into Student values(‘01’ , ‘赵雷’ , ‘1990-01-01’ , ‘男’);
insert into Student values(‘02’ , ‘钱电’ , ‘1990-12-21’ , ‘男’);
insert into Student values(‘03’ , ‘孙风’ , ‘1990-05-20’ , ‘男’);
insert into Student values(‘04’ , ‘李云’ , ‘1990-08-06’ , ‘男’);
insert into Student values(‘05’ , ‘周梅’ , ‘1991-12-01’ , ‘女’);
insert into Student values(‘06’ , ‘吴兰’ , ‘1992-03-01’ , ‘女’);
insert into Student values(‘07’ , ‘郑竹’ , ‘1989-07-01’ , ‘女’);
insert into Student values(‘08’ , ‘王菊’ , ‘1990-01-20’ , ‘女’);
#课程表测试数据
insert into Course values(‘01’ , ‘语文’ , ‘02’);
insert into Course values(‘02’ , ‘数学’ , ‘01’);
insert into Course values(‘03’ , ‘英语’ , ‘03’);

#教师表测试数据
insert into Teacher values(‘01’ , ‘张三’);
insert into Teacher values(‘02’ , ‘李四’);
insert into Teacher values(‘03’ , ‘王五’);

#成绩表测试数据
insert into Score values(‘01’ , ‘01’ , 80);
insert into Score values(‘01’ , ‘02’ , 90);
insert into Score values(‘01’ , ‘03’ , 99);
insert into Score values(‘02’ , ‘01’ , 70);
insert into Score values(‘02’ , ‘02’ , 60);
insert into Score values(‘02’ , ‘03’ , 80);
insert into Score values(‘03’ , ‘01’ , 80);
insert into Score values(‘03’ , ‘02’ , 80);
insert into Score values(‘03’ , ‘03’ , 80);
insert into Score values(‘04’ , ‘01’ , 50);
insert into Score values(‘04’ , ‘02’ , 30);
insert into Score values(‘04’ , ‘03’ , 20);
insert into Score values(‘05’ , ‘01’ , 76);
insert into Score values(‘05’ , ‘02’ , 87);
insert into Score values(‘06’ , ‘01’ , 31);
insert into Score values(‘06’ , ‘03’ , 34);
insert into Score values(‘07’ , ‘02’ , 89);
insert into Score values(‘07’ , ‘03’ , 98);

请写出以下问题的SQL语句:

  1. 查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩
  2. 查询“01”课程比“02”课程成绩高的学生的信息以及课程分数
  3. 查询每门课程被选修的学生数
  4. 查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列
  5. 查询平均成绩大于等于85的所有学生的学号、姓名和平均成绩
  6. 查询课程名称为"数学",且分数低于60的学生姓名和分数
  7. 查询“01”课程学生考试成绩的最高分、最低分以及平均考试成绩
  8. 查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩
  9. 查询"李"姓老师的数量
  10. 查询没学过"张三"老师授课的同学的信息
  11. 查询学过编号为"01"并且也学过编号为"02"的课程的同学的信息
  12. 查询学过编号为"01"但是没有学过编号为"02"的课程的同学的信息
  13. 查询没有学全所有课程的同学的信息
  14. 检索"01"课程分数小于60,按分数降序排列的学生信息
  15. 按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩
  16. 查询不同老师所教不同课程平均分从高到低显示
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    Mysql 结课
    Mysql 结课
    Mysql 结课
    Mysql 结课
    Mysql 结课
    Mysql 结课
    Mysql 结课
    Mysql 结课
    Mysql 结课
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    1 查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩
    Mysql 结课
    Mysql 结课2 查询“01”课程比“02”课程成绩高的学生的信息以及课程分数

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
3 查询每门课程被选修的学生数

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
4. 查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
5. 查询平均成绩大于等于85的所有学生的学号、姓名和平均成绩

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
6. 查询课程名称为"数学",且分数低于60的学生姓名和分数

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
7. 查询“01”课程学生考试成绩的最高分、最低分以及平均考试成绩

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
8. 查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
9. 查询"李"姓老师的数量

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
10. 查询没学过"张三"老师授课的同学的信息

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
11. 查询学过编号为"01"并且也学过编号为"02"的课程的同学的信息

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
12. 查询学过编号为"01"但是没有学过编号为"02"的课程的同学的信息

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
13. 查询没有学全所有课程的同学的信息

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
14. 检索"01"课程分数小于60,按分数降序排列的学生信息

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
15. 按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
16. 查询不同老师所教不同课程平均分从高到低显示