MySQL查询的多表查询题
时间: 2024-01-11 07:04:18 浏览: 29
好的,以下是一个MySQL多表查询的练习题:
假设有一个学生表(student)、一个课程表(course)和一个选课表(selection),表结构如下:
student表:
| Field | Type | Null | Key | Default | Extra |
|---------|-------------|------|------|---------|----------------|
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | NULL | |
| gender | varchar(2) | NO | | NULL | |
| age | int(11) | NO | | NULL | |
| address | varchar(50) | NO | | NULL | |
course表:
| Field | Type | Null | Key | Default | Extra |
|---------------|-------------|------|------|---------|----------------|
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | NO | | NULL | |
| teacher | varchar(20) | NO | | NULL | |
| credit | float | NO | | NULL | |
| student_count | int(11) | NO | | NULL | |
selection表:
| Field | Type | Null | Key | Default | Extra |
|------------|-------------|------|------|---------|----------------|
| id | int(11) | NO | PRI | NULL | auto_increment |
| student_id | int(11) | NO | | NULL | |
| course_id | int(11) | NO | | NULL | |
| score | int(11) | NO | | NULL | |
| selection_time | datetime | NO | | NULL | |
请完成以下查询:
1. 查询所有学生的姓名、性别和选修的课程名称。
2. 查询选修“数学”课程的学生的姓名和成绩,并按照成绩降序排序。
3. 查询每个学生选修的课程数目和平均成绩,并按照平均成绩降序排序。
4. 查询选修课程数目最多的学生的姓名和选修课程数目。
5. 查询每个选修课程的平均成绩和选修学生数目,并按照平均成绩降序排序。
6. 查询选修课程平均成绩排名前三的课程的名称和平均成绩。
7. 查询选修成绩排名前十的学生的姓名、选修课程名称和成绩。
8. 查询选修成绩在80分以上的学生的姓名、选修课程名称和成绩。
9. 查询选修“计算机”课程的学生成绩排名前三的姓名和成绩。
10. 查询选修课程成绩总分排名前三的学生的姓名和成绩总分。
(注:数据仅供练习使用。)