SQL练习:大学课程数据查询
需积分: 0 178 浏览量
更新于2024-08-04
1
收藏 1.41MB PDF 举报
"该资源是关于SQL的实践练习,提供了几个查询问题,涉及数据库操作,如查找特定部门的课程、获取指定教师教授的学生ID、查询最高薪资的教师、找出所有最高薪资的教师、统计每个秋季2017课程的注册人数、找出所有秋季2017课程的最大注册人数以及特定学期的课程等。建议在提供的数据库上实际运行这些查询以获得结果。"
在SQL中,这些问题可以通过不同的查询语句来解决。以下是根据题目描述对每个查询的解答:
a. 找到计算机科学系(Com.P.Si. Department)有3次修订的课程标题:
```sql
SELECT title FROM courses WHERE department = 'Com.P.Si.' AND revisions = 3;
```
此查询将返回所有在计算机科学系且修订次数为3的课程标题。
b. 查找由名为Einstein的教师教授的所有学生ID,并确保结果中没有重复:
```sql
SELECT DISTINCT student_id FROM enrollments JOIN sections ON enrollments.section_id = sections.id JOIN instructors ON sections.instructor_id = instructors.id WHERE instructors.name = 'Einstein';
```
这将返回Einstein教授所教学生的唯一ID。
c. 查找任何教师的最高薪资:
```sql
SELECT MAX(salary) FROM instructors;
```
这条查询将返回所有教师中最高的薪水。
d. 找到所有薪资最高的教师(可能存在多个相同薪资的教师):
```sql
SELECT * FROM instructors WHERE salary = (SELECT MAX(salary) FROM instructors);
```
这将返回所有薪资与最高薪资相等的教师信息。
e. 统计每个秋季2017课程的注册人数:
```sql
SELECT sections.id, COUNT(DISTINCT enrollments.student_id) AS enrollment_count FROM sections JOIN enrollments ON sections.id = enrollments.section_id WHERE sections.semester = 'Fall' AND sections.year = 2017 GROUP BY sections.id;
```
这将按课程ID显示每个秋季2017课程的注册学生数。
f. 找出所有秋季2017课程的最大注册人数:
```sql
SELECT MAX(enrollment_count) AS max_enrollment FROM (
SELECT sections.id, COUNT(DISTINCT enrollments.student_id) AS enrollment_count
FROM sections
JOIN enrollments ON sections.id = enrollments.section_id
WHERE sections.semester = 'Fall' AND sections.year = 2017
GROUP BY sections.id
) AS subquery;
```
这将返回秋季2017所有课程中的最大注册人数。
g. 找到秋季2017学期的课程(查询未完整,可能需要额外的信息):
由于查询不完整,假设我们正在寻找的是秋季2017学期的课程ID和标题,可以这样写:
```sql
SELECT sections.id, courses.title FROM sections JOIN courses ON sections.course_id = courses.id WHERE sections.semester = 'Fall' AND sections.year = 2017;
```
这将返回秋季2017学期的所有课程及其ID和标题。
点击了解资源详情
点击了解资源详情
点击了解资源详情
m0_60957932
- 粉丝: 3
- 资源: 1
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新