使用python用sql语句多表查询每位学生成绩大于85的课程结果要输出学生的学号、姓名、所在系别、课程号、课程名以及成绩
时间: 2024-10-17 07:05:11 浏览: 74
基于Python实现的学生管理系统源码+项目说明+sql数据库(期末课程大作业).zip
在Python中,你可以使用`sqlite3`库(如果数据库是SQLite),或者`pymysql`(如果数据库是MySQL)等连接数据库并执行SQL查询。假设你有两个相关的表格,一个是学生信息表`students`,包含字段如`student_id`, `name`, 和 `department`;另一个是成绩表`scores`,包含字段如`student_id`, `course_id`, `course_name`, 和 `score`。
下面是一个基本的示例,展示了如何编写SQL查询来获取满足条件的数据:
```python
import sqlite3 # 如果是SQLite
# 连接到SQLite数据库 (替换为实际路径)
# conn = sqlite3.connect('your_database.db')
conn = pymysql.connect(host='localhost', user='username', password='password', db='your_database') # 如果是MySQL
# 创建游标
cursor = conn.cursor()
# SQL查询语句
query = """
SELECT s.student_id, s.name, s.department, sc.course_id, sc.course_name, sc.score
FROM students s
JOIN scores sc ON s.student_id = sc.student_id
WHERE sc.score > 85;
"""
# 执行查询
cursor.execute(query)
# 获取所有结果
results = cursor.fetchall()
# 输出结果
for result in results:
print(f"学号: {result[0]}, 姓名: {result[1]}, 系别: {result[2]}, 课程号: {result[3]}, 课程名: {result[4]}, 成绩: {result[5]}")
# 关闭游标和连接
cursor.close()
conn.close()
```
请注意,你需要将上述代码中的数据库连接信息、表名和字段名调整为你实际的数据库环境。如果你使用的是其他数据库系统(比如PostgreSQL或者Oracle),语法可能会有所不同,但是基本思路是一致的。
阅读全文