数据库第一次作业

数据库第一次作业

3.1 使用大学模式,用SQL写出如下查询。

a.找出Comp.Sci系开设的具有三个学分的课程名称。

	select title
 	  from course
	 where dept_name = 'Comp. Sci.' and course.credits = 3;

b. 找出名叫Einstein的教师所教的所有学生的标识,保证结果中没有重复。

	select distinct takes.id
  	  from instructor natural join teaches 
	       join takes using (course_id,sec_id,semester,year)
 	 where name = 'Einstein'; 

c. 找出教师的最高工资

	select max(salary) 
	  from instructor

d. 找出工资最高的所有教师

	select name 
	from   instructor
	where salary=(select Max(salary) from instructor)

e.找出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

f.从2009年秋季开设的每个课程段中,找出最多的选课人数

	select Max(cnt) 
	from ( 
		select Count(ID) as cnt
		from   section natural join takes 
		where semester = 'Fall' and year = 2009 group by course_id, sec_id 
	)

g.找出在2009年秋季拥有最多选课人数的课程段。

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

	select course_id,sec_id
	from   Fall2009
	where cnt  = (select max(cnt) from Fall2009)
posted @   adfae  阅读(1924)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· 开发者新选择:用DeepSeek实现Cursor级智能编程的免费方案
· 【译】.NET 升级助手现在支持升级到集中式包管理
· 独立开发经验谈:如何通过 Docker 让潜在客户快速体验你的系统
· Tinyfox 发生重大改版
点击右上角即可分享
微信分享提示