SQL多表数据查询自己选修课程中成绩比自己平均分高的那些课程的课程号及学号、成绩
时间: 2024-05-11 14:15:53 浏览: 16
您好!根据您的要求,可以使用以下 SQL 语句来实现多表数据查询自己选修课程中成绩比自己平均分高的那些课程的课程号及学号、成绩:
```
SELECT SC.Cno, SC.Sno, SC.Score
FROM SC
WHERE SC.Score > (SELECT AVG(SC2.Score)
FROM SC AS SC2
WHERE SC2.Sno = SC.Sno)
```
这个 SQL 查询语句中,首先从 SC 表中选取选修成绩高于自己平均分的课程,然后使用子查询计算平均分。最后返回的结果包括课程号、学号和成绩。希望对您有所帮助!
相关问题
数据库查询 查询成绩比该课程平均成绩高的学生的学号及成绩。
数据库查询是一种从数据库中检索信息的方法。针对你的问题,可以通过以下 SQL 语句实现:
```
SELECT 学号, 成绩 FROM 成绩表
WHERE 课程名称 = 'XXX'
AND 成绩 > (SELECT AVG(成绩) FROM 成绩表 WHERE 课程名称 = 'XXX')
```
其中,XXX 需要替换成具体的课程名称。这个 SQL 语句会查询出所有选修该课程且成绩高于该课程平均成绩的学生的学号及成绩。
sql查询选修了2门以上课程的学生学号和平均成绩
好的,针对你的问题,可以使用如下的 SQL 查询语句:
```
SELECT sc.s_id, AVG(sc.score) as avg_score
FROM score sc
WHERE sc.s_id IN (
SELECT s_id
FROM score
GROUP BY s_id
HAVING COUNT(DISTINCT c_id) >= 2
)
GROUP BY sc.s_id;
```
这个查询语句中,首先使用了一个子查询来查询选修了2门及以上课程的学生学号,然后在外部查询中使用了这个子查询的结果来过滤学生成绩表中的数据。最后使用 GROUP BY 子句来按照学生学号对成绩进行分组,并且使用 AVG 函数来计算平均成绩。
注意:这里假设选课表名为 course,成绩表名为 score,学生表名为 student,课程表名为 subject,且成绩表中的 c_id 字段表示课程编号,s_id 字段表示学生学号,score 字段表示成绩。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.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)