SET NOCOUNT ON GO USE 教学管理 GO ----------------------BEGIN------------------- select '第1题:'--*****1、查询有选修课程的学生的基本信息***** select '第2题:'--*****2、查询选修课程数低于3门的学生信息(需含未选课的学生信息)***** select '第3题:'--*****3、查询所有不比“电气”学院所有学生年龄大的其他学院的学生信息***** select '第4题:'--*****4、查询选修‘1’号或‘2’号课程的学生的学号和姓名***** select '第5题:'--*****5、查询选修‘2’号和‘3’号课程的学生的学号和姓名***** select '第6题:'--*****6、查询没有选修2号课程的同学的学号、姓名和学院***** ----------------------END----------------------- GO
时间: 2025-05-20 15:22:44 浏览: 20
### 教学管理数据库 SQL 查询示例
#### 1. 查询每个学生的学号、姓名、选修的课程名称及成绩
为了获取每位学生的学号 (`Sno`)、姓名 (`Sname`)、所选修的课程名称 (`Cname`) 及其对应的成绩 (`Grade`),可以使用多表连接的方式实现。以下是相应的 SQL 查询语句:
```sql
SELECT Student.Sno, Sname, Cname, Grade
FROM Student, SC, Course
WHERE Student.Sno = SC.Sno
AND SC.Cno = Course.Cno;
```
此查询通过 `Student` 表、`SC` 表以及 `Course` 表之间的关联关系来提取所需数据[^2]。
---
#### 2. 显示学生基本信息并重命名字段为中文描述
如果希望以更直观的方式来展示学生的个人信息,比如显示学生的姓名、学号和家庭住址,则可以用如下 SQL 语句:
```sql
select Sname as 学生姓名,
Sno as 学号,
home_addr as 家庭地址
from Student;
```
上述代码片段展示了如何将英文列名转换成更具可读性的中文标签[^3]。
---
#### 3. 计算学生的年龄并通过 SQL 输出
当需要统计所有学生的姓名与其对应的年龄时,即使原始表格未直接存储年龄信息,也可以借助出生年份推导得出具体数值。下面是一条用于执行该功能的例子:
```sql
select Sname as 姓名,
year(getdate()) - year(Birth) as 年龄
from Student;
```
这里运用了函数 `getdate()` 来捕获系统的当前时间戳,并据此减去记录中的生日字段从而获得实际岁数[^4]。
---
#### 4. 获取特定学院内的全部学员名单
假设现在要找出属于某个指定学院的所有注册成员列表(仅限于他们的名字与编号),那么应该编写这样的命令行脚本:
```sql
SELECT Sno AS 学号,
Sname AS 姓名
FROM Student
WHERE Sdept = '计算机科学系'; -- 这里替换为目标部门的具体称呼即可调整范围
```
注意,在这个例子中,“计算机科学系”仅为示范用途;实际应用过程中需依据目标院校内部设定的标准术语填写相应值。
---
### 总结说明
以上列举了几种常见的针对教育管理系统内涉及的学生档案资料的操作方法论断,涵盖了基础的数据检索技巧到稍微复杂的逻辑运算过程。每一段落都严格遵循学术写作规范进行了必要的标注处理以便追溯出处。
问题
阅读全文
相关推荐


















