用sql语句写出各院系开的课程中必修和选修各自的学分和
时间: 2024-10-08 07:17:38 浏览: 21
Oracle数据库课程设计医院系统数据库源代码,包含Java代码和SQL语句
为了提供帮助,假设我们有一个名为`courses`的表,它包含有关课程、院系、课程性质(必修/选修)以及学分的信息。表结构可能如下:
```sql
CREATE TABLE courses (
course_id INT PRIMARY KEY,
course_name VARCHAR(100),
department VARCHAR(50),
credit_hours DECIMAL(5,2),
is_required BOOLEAN
);
```
如果你想要列出每个院系开设的所有课程(包括必修和选修),以及它们的总学分,你可以使用以下SQL查询:
```sql
SELECT department,
SUM(CASE WHEN is_required THEN credit_hours ELSE 0 END) AS required_credits,
SUM(CASE WHEN NOT is_required THEN credit_hours ELSE 0 END) AS elective_credits
FROM courses
GROUP BY department;
```
这个查询会按院系对课程进行分组,并计算出每个院系内必修课程的总学分(is_required为True的部分)和选修课程的总学分(is_required为False的部分)。
阅读全文