用mariadb实现 1. 教语文的老师所带班级各多少学生? 2. 每门课的老师所带班级各多少学生? 3. 来自上海的学生的班主任都有谁? 4. 来自南京的学生共多少人 5. 来自武汉的男同学和女同学分别多少人? 6. 每个城市的学生各多少人 7. 高于平均工资的老师所带的班级分别多少学生? 8. 每个老师班里各多少来自郑州的学生?1. 查看1年级1班所有同学的语文成绩是多少? 2. 统计1年级1班数学成绩的平均值? 3. 统计6年级的英语成绩的平均值? 4. 查看"刘苍松"所带班级的英语平均分? 5. 查看工资最高的老师所带班级的各科成绩的平均分,最高分和最低分分别是多少? 6. 查看每位大队长的5门成绩平均分是多少?
时间: 2024-03-28 09:36:23 浏览: 26
抱歉,我无法直接连接到你的数据库,但是我可以告诉你如何实现这些问题的查询语句,你可以将其应用于你的数据库中。
1. 教语文的老师所带班级各多少学生?
```
SELECT t.`name` AS teacher_name, c.`name` AS class_name, COUNT(s.`name`) AS student_count
FROM teacher t
INNER JOIN class c ON t.`id` = c.`teacher_id`
INNER JOIN student s ON c.`id` = s.`class_id`
INNER JOIN course co ON s.`id` = co.`student_id`
WHERE co.`subject` = '语文'
GROUP BY t.`name`, c.`name`
```
2. 每门课的老师所带班级各多少学生?
```
SELECT t.`name` AS teacher_name, co.`subject`, c.`name` AS class_name, COUNT(s.`name`) AS student_count
FROM teacher t
INNER JOIN class c ON t.`id` = c.`teacher_id`
INNER JOIN student s ON c.`id` = s.`class_id`
INNER JOIN course co ON s.`id` = co.`student_id`
GROUP BY t.`name`, co.`subject`, c.`name`
```
3. 来自上海的学生的班主任都有谁?
```
SELECT t.`name` AS teacher_name, c.`name` AS class_name
FROM teacher t
INNER JOIN class c ON t.`id` = c.`teacher_id`
INNER JOIN student s ON c.`id` = s.`class_id`
INNER JOIN city ci ON s.`city_id` = ci.`id`
WHERE ci.`name` = '上海'
GROUP BY t.`name`, c.`name`
```
4. 来自南京的学生共多少人?
```
SELECT COUNT(*) AS student_count
FROM student s
INNER JOIN city ci ON s.`city_id` = ci.`id`
WHERE ci.`name` = '南京'
```
5. 来自武汉的男同学和女同学分别多少人?
```
SELECT s.`gender`, COUNT(*) AS student_count
FROM student s
INNER JOIN city ci ON s.`city_id` = ci.`id`
WHERE ci.`name` = '武汉'
GROUP BY s.`gender`
```
6. 每个城市的学生各多少人?
```
SELECT ci.`name` AS city_name, COUNT(*) AS student_count
FROM student s
INNER JOIN city ci ON s.`city_id` = ci.`id`
GROUP BY ci.`name`
```
7. 高于平均工资的老师所带的班级分别多少学生?
```
SELECT t.`name` AS teacher_name, c.`name` AS class_name, COUNT(s.`name`) AS student_count
FROM teacher t
INNER JOIN class c ON t.`id` = c.`teacher_id`
INNER JOIN student s ON c.`id` = s.`class_id`
WHERE t.`salary` > (SELECT AVG(`salary`) FROM teacher)
GROUP BY t.`name`, c.`name`
```
8. 每个老师班里各多少来自郑州的学生?
```
SELECT t.`name` AS teacher_name, c.`name` AS class_name, COUNT(*) AS student_count
FROM teacher t
INNER JOIN class c ON t.`id` = c.`teacher_id`
INNER JOIN student s ON c.`id` = s.`class_id`
INNER JOIN city ci ON s.`city_id` = ci.`id`
WHERE ci.`name` = '郑州'
GROUP BY t.`name`, c.`name`
```
1. 查看1年级1班所有同学的语文成绩是多少?
```
SELECT s.`name` AS student_name, co.`score` AS chinese_score
FROM student s
INNER JOIN class c ON s.`class_id` = c.`id`
INNER JOIN course co ON s.`id` = co.`student_id`
WHERE c.`grade` = 1 AND c.`number` = 1 AND co.`subject` = '语文'
```
2. 统计1年级1班数学成绩的平均值?
```
SELECT AVG(co.`score`) AS math_average_score
FROM student s
INNER JOIN class c ON s.`class_id` = c.`id`
INNER JOIN course co ON s.`id` = co.`student_id`
WHERE c.`grade` = 1 AND c.`number` = 1 AND co.`subject` = '数学'
```
3. 统计6年级的英语成绩的平均值?
```
SELECT AVG(co.`score`) AS english_average_score
FROM student s
INNER JOIN class c ON s.`class_id` = c.`id`
INNER JOIN course co ON s.`id` = co.`student_id`
WHERE c.`grade` = 6 AND co.`subject` = '英语'
```
4. 查看"刘苍松"所带班级的英语平均分?
```
SELECT AVG(co.`score`) AS english_average_score
FROM teacher t
INNER JOIN class c ON t.`id` = c.`teacher_id`
INNER JOIN student s ON c.`id` = s.`class_id`
INNER JOIN course co ON s.`id` = co.`student_id`
WHERE t.`name` = '刘苍松' AND co.`subject` = '英语'
```
5. 查看工资最高的老师所带班级的各科成绩的平均分,最高分和最低分分别是多少?
```
SELECT co.`subject`, AVG(co.`score`) AS average_score, MAX(co.`score`) AS max_score, MIN(co.`score`) AS min_score
FROM teacher t
INNER JOIN class c ON t.`id` = c.`teacher_id`
INNER JOIN student s ON c.`id` = s.`class_id`
INNER JOIN course co ON s.`id` = co.`student_id`
WHERE t.`salary` = (SELECT MAX(`salary`) FROM teacher)
GROUP BY co.`subject`
```
6. 查看每位大队长的5门成绩平均分是多少?
```
SELECT t.`name` AS teacher_name, AVG(co.`score`) AS average_score
FROM teacher t
INNER JOIN class c ON t.`id` = c.`teacher_id`
INNER JOIN student s ON c.`id` = s.`class_id`
INNER JOIN course co ON s.`id` = co.`student_id`
WHERE s.`is_leader` = 1
GROUP BY t.`name`
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)