数据库系统概念第6版第三章答案

  • 3.1
    • a.找出Comp.Sci系开设的具有3个学分的课程名称。
    • b.找出名叫Einstein的教师所教的所有学生的标识,保证结果中没有重复
    • c. 找出教师的最高工资。
    • d.找出工资最高的所有教师(可能有不止一位教师具有相同的工资)。
    • e.找出2009年秋季开设的每个课程段的选课人数。
    • f.从2009年秋季开设的所有课程中,找出最多的选课人数。
    • g.找出在2009年秋季拥有选课人数最多的课程段。
  • 3.2
    • a.
    • b.
    • c.
  • 3.3
    • a.
    • b.
    • c.
  • 3.4
    • a.
    • b.
    • c.
  • 3.5


3.1

a.找出Comp.Sci系开设的具有3个学分的课程名称。
select title
from course
where dept_name = "Comp.Sci" and credits = 3;
b.找出名叫Einstein的教师所教的所有学生的标识,保证结果中没有重复

如果理解为该老师教过的所有学生,则为

select distinct takes.ID
from teaches natural join takes using course_id
where teaches.ID = "Einstein";

如果理解为在特定时间老师正在教的所有学生,则为

select distinct takes.ID
from teaches natural join takes using (course_id,sec_id,semester,year)
where teaches.ID = "Einstein";

或者

select distinct takes.ID
from teaches, takes
where takes.course_id = teaches.course_id and takes.sec_id = teaches>sec_id and takes.semester = teaches.semester and takes.year = teaches.year and teaches.ID = "Einstein";

标答

select distinct student.ID
from (student join takes using(ID))
join (instructor join teaches using(ID))
using(course id, sec id, semester, year)
where instructor.name = ’Einstein’;

takes 和student的ID受外码约束,必然是相等的。instructor和teaches的ID也是受外码约束,必然相等。

c. 找出教师的最高工资。
select max(salary)
from instructor;
d.找出工资最高的所有教师(可能有不止一位教师具有相同的工资)。
select ID,name // 唯一标识一位教师
from instrcutor
where salary = (select max(salary) from instructor);
e.找出2009年秋季开设的每个课程段的选课人数。
select count(ID)
from section natural join takes
where semester = 'Fall' and year = '2009';

改进:

select course_id, sec_id, count(ID)
from section natural join takes
where semester = 'Fall' and year = '2009'
group by course_id, sec_id;

除了聚集函数,其余都应出现在group by中
或者:

select course id, sec id,
(select count(ID)
from takes
where takes.year = section.year
and takes.semester = section.semester
and takes.course_id = section.course_id
and takes.section_id = section.section_id)
from section
where semester = ’Autumn’ and year = 2009
f.从2009年秋季开设的所有课程中,找出最多的选课人数。
with course_numbers( value) as(select count(ID)from section natural join takeswhere semester = 'Fall' and year = '2009'group by course_id, sec_id)
select max(value)
from course_numbers;

标答

select max(enrollment)
from (select count(ID) as enrollmentfrom section natural join takeswhere semester = ’Autumn’ and year = 2009group by course_id, sec_id)
g.找出在2009年秋季拥有选课人数最多的课程段。
with course_numbers( course_id, sec_id, value) as(select course_id, sec_id, count(ID)from section natural join takeswhere semester = 'Fall' and year = '2009'group by course_id, sec_id)
select couese_id, sec_id
from course_numbers
where value = (select max(value) from course_numbers);

标答

with sec_enrollment as (select course id, sec id, count(ID) as enrollmentfrom section natural join takeswhere semester = ’Autumn’and year = 2009group by course id, sec id)
select course id, sec id
from sec_enrollment
where enrollment = (select max(enrollment) from sec_enrollment)

3.2

a.
b.
c.

3.3

a.
b.
c.

3.4

a.
b.
c.

3.5

数据库系统概念第6版第三章答案相关推荐

  1. 数据库系统概念第六版 第五章练习题 2 4

    数据库系统概念第六版 第五章练习题 2 4 5.2 写一个使用JDBC元数据特性的JAVA函数,该函数用ResultSet作为输入参数,并把结果输出为用合适的名字作为列名的表格形式. (对JAVA不太 ...

  2. 数据库系统概念第六版 第四章练习题 12 14 18

    数据库系统概念第六版 第四章练习题 12 14 18 4.12 对于图中的数据库,写出一个查询来找到那些没有经理的雇员.注意一个雇员可能只是没有列出其经理或者可能有null经理.使用外连接书写查询,然 ...

  3. 微型计算机技术第三版第三章答案,微型计算机原理与接口技术第三章习题及答案...

    第三章 习题及答案 2. DS=1000H, BX=0200H, SI=2, 内存10200H-10205H 单元的内容分别是10H, 2AH, 3CH, 46H, 59H, 6BH ,下列指令执行后 ...

  4. 数据库系统概念第六版 第七章练习题 15 22

    数据库第七章理论习题 7.15 为医院构造一个包含一组病人和一组医生的E-R图.为每个病人关联一组不同的检查和化验记录. 说明:医生和病人间存在联系,同时病人有特有的检查和化验记录,病人有病床,医生属 ...

  5. 微型计算机技术第三版第三章答案,第3章微机组装技术作业(答案)

    电大,微机系统与维护,习题参考答案 第3章 微机组装技术 一.单项选择题 1. 为了避免人体静电损坏微机部件,在维修时可采用( B )来释放静电. A.电笔 B.防静电手环 C.钳子 D.螺丝刀 2. ...

  6. 数据库系统概论王珊编写的第三章学生-课程数据库

    一.前言 因为考研需求,我于是将数据库系统概论王珊编写的第三章学生-课程数据库的三张表实现了一下,为了简化操作,我没有实现部分外码功能. 我用的是MySQL实现的 二.正文 /*3. 创建学生表Stu ...

  7. 【数据库系统概念第七版(Database System Concepts 7th)配套SQL文件如何获取】

    数据库系统概念第七版(Database System Concepts 7th)配套SQL文件如何获取 数据库大黑书获取配套SQL文件 最后在数据库运行SQL文件即可 数据库大黑书获取配套SQL文件 ...

  8. 【线性代数复习笔记】同济大学版第三章和第四章 矩阵的初等变换与线性方程组与向量组的线性相关性

    [线性代数复习笔记]同济大学版第三章和第四章 矩阵的初等变换与线性方程组与向量组的线性相关性 1.矩阵的初等变换 矩阵的三种初等变换及性质 行阶梯形矩阵 矩阵的初等变换的性质 2.矩阵的秩 矩阵的秩的 ...

  9. 数字图像处理--冈萨雷斯第4版--第三章 灰度变换

    数字图像处理--冈萨雷斯第4版--第三章 灰度变换 第三章 灰度变换 3.1 背景 3.1.1 灰度变换和空间滤波基础 3.1.2 本章例子说明 3.2 一些基本的灰度变换函数 3.2.1 图像反转 ...

  10. 数据结构(C语言)第二版 第三章课后答案

    数据结构(C语言)第二版 第三章课后答案 1~5 C C D A A 6~10 D A B C D 11~15 D D B C B 1.选择题 (1)若让元素1, 2, 3 , 4, 5 依次进栈,则 ...

最新文章

  1. gprs 神奇宝典java,2016联通笔试知识点大全
  2. Android爬坑之旅:软键盘挡住输入框问题的终极解决方式
  3. java condition_死磕Java并发:J.U.C之Condition
  4. W5100使用中的常见问题
  5. inline修饰虚函数问题
  6. css中图片有缩放和转动效果
  7. 梯度 cv2.sobel_TensorFlow 2.0中连续策略梯度的最小工作示例
  8. 行走在消逝中[LoLi有三好]
  9. error while loading shared libraries: libxx.so: cannot open shared object file: No such file
  10. 嵌入式软件工程师待遇如何?
  11. EDP转HDMI 4K60HZ视频信号转换方案CS5263完全替代IT6563
  12. python爬虫代理的使用_从零开始写Python爬虫 --- 2.4 爬虫实践:代理的爬取和验证...
  13. python多图片合并pdf_Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
  14. 万物互联时代的兴起及其边缘算法效应
  15. 学习linux杂七杂八——关于shell中的变量
  16. HDOJ HDU 1129 Do the Untwist
  17. 2020年王鼎杯反序列化题目复现
  18. 香蕉派 BPI-M5折腾记录(1)—— 开发板系统烧写
  19. 关于幂级数求导/积分后幂级数收敛域变化的问题
  20. 自动化测试的目标和投入产出比

热门文章

  1. 商品管理查询分类下的所有子类目
  2. 电子阅读器行业市场研究分析及未来趋势预测分析
  3. 语义分割系列5-Pspnet(pytorch实现)
  4. html怎么加圆圈,圆圈1怎么打 word怎么打一个圈里面加数字1
  5. 实验(一)时间片轮转调度算法(Java)
  6. 笔记本电脑扩展屏幕到笔记本、平板和手机(duet、spacedesk)
  7. UiPath手把手中文教程PDF
  8. PHP在线预览word、excel等office文档
  9. 4种Dolby声场技术的区别
  10. windows命令查找程序_如何在Windows 10上查找和设置屏幕保护程序