使用python多表查询每位学生成绩大于85的课程结果要输出学生的学号、姓名、所在系别、课程号、课程名以及成绩
时间: 2024-10-17 21:08:18 浏览: 36
AC-学号-姓名- 题号10481
在Python中,如果你有多个包含学生信息和课程信息的数据表,比如`students`和`courses`,并且它们通过`student_id`和`course_id`字段关联,你可以使用pandas库来进行这样的多表查询。假设两个表都有`score`列,下面是一个示例步骤:
```python
import pandas as pd
# 假设你已经将数据读入DataFrame
# students_df = pd.read_csv('students.csv')
# courses_df = pd.read_csv('courses.csv')
# 合并数据,基于学生ID和课程ID
merged_df = pd.merge(students_df, courses_df, on=['student_id', 'course_id'])
# 进行过滤条件:选择成绩大于85的记录
filtered_df = merged_df[merged_df['score'] > 85]
# 输出需要的字段:学号(假设为'student_id'),姓名,系别(假设为'resion'),课程号,课程名(假设为'course_code' 和 'course_name'),以及成绩
result = filtered_df[['student_id', 'name', 'resion', 'course_code', 'course_name', 'score']]
print(result)
```
在这个例子中,你需要确保你的数据集结构和文件路径是对的,并且字段名称与实际数据库字段匹配。如果数据存储在其他数据库系统(如MySQL、SQL Server等),可能需要使用相应的ORM工具(如SQLAlchemy)或者直接执行SQL查询。
阅读全文