数据库作业3:陈俊潼_10185101210 SQL查询解答
需积分: 0 130 浏览量
更新于2024-08-05
收藏 176KB PDF 举报
"陈俊潼的10185101210号Homework31,涵盖了数据库相关的SQL查询和操作"
这篇作业主要涉及了SQL语言中的几个关键概念,包括选择(SELECT)、连接(JOIN)、子查询(SUBQUERY)、插入(INSERT)、删除(DELETE)等操作。下面将详细解释每个部分的知识点。
3.11 部分的SQL语句主要关注数据的查询:
a. 这个查询用于找出计算机科学(Comp.Sci.)系的所有不同课程的名称。它通过自然连接(NATURAL JOIN)将`student`、`takes`和`course`表联接在一起,然后使用`USING`指定连接条件`course_id`,最后使用`WHERE`筛选出计算机科学系的课程,并用`DISTINCT`去除重复的课程名称。
b. 此查询找出不在2009年春季之前选课的学生ID。它首先创建一个子查询,找出所有在2009年春季之前选过课的学生ID,然后在主查询中使用`NOT IN`操作符排除这些ID,从而得到所需的结果。
c. 这个查询旨在找出每个部门薪水最高的教师姓名和薪水。它首先创建一个子查询,使用`GROUP BY`和`MAX`函数找出每个部门的最高薪水,然后通过自然连接将这个子查询与`instructor`表结合,找出对应薪水的教师信息。
d. 最后一个查询是找出在每个部门中薪水最低的教师的最低薪水。它使用了一个嵌套的子查询,先找到每个部门薪水最高的教师,然后再从中找出最低的薪水。
3.12 部分的SQL语句涉及数据的插入和删除:
a. 这个语句向`course`表中插入一个新的记录,创建了一个名为“Weekly Seminar”的课程,属于计算机科学系(Comp.Sci.),并且学分为0。
b. 接下来,向`section`表中插入一条记录,表示在2009年秋季学期有一个CS-001的课程。
c. 这条语句使用子查询来插入数据,将所有计算机科学系的学生ID、新创建的课程ID(CS-001)、学期(Autumn)和年份(2009)添加到`takes`表中,表示这些学生选修了这门课。
d. 最后,删除所有在2009年秋季选修了CS-001课程的学生记录。这会从`takes`表中移除对应的数据。
这些SQL语句展示了如何在关系数据库中进行数据的检索、插入和删除,以及如何利用子查询和连接来处理复杂的数据关系。它们体现了SQL在数据库管理中的核心功能。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2021-05-21 上传
2021-03-20 上传
2021-03-31 上传
内酷少女
- 粉丝: 21
- 资源: 302
最新资源
- mikamix
- BGInfo(桌面显示IP).zip
- Lausanne_map
- hanu:用于编写Slack机器人的Golang框架
- tcpclient:基于aqueue actor的异步tcpclient
- 与我滚动:在线玩角色扮演游戏的数字工具
- STM32_VL53L1x.zip
- program_for_51.zip_51 舵机程序_51舵机_伺服电机
- 易语言进程冰川名捕
- Orange:该项目包含许多受世界上最受欢迎的电信公司Orange启发的Web组件和脚本
- ist的matlab代码-FBEditor:用于编辑Fritz!Box的配置文件的程序
- tizen-gbs-docker
- xtcp:具有正常关闭,自定义协议的TCP Server框架
- 北京金地中心工程施工组织设计.zip
- 遮罩层特效.zip
- guilhermepontes.github.io:HTML-Página