部分重点题型的答题思路

10题: 查询Score表中的最高分的学生学号和课程号。

select * from score // 需要用到score表中的内容
select sno,cno from score // 需要用到score表中sno,cno 两列的内容
select max(degree) from score // 查询最高分数
select sno,cno from score where degree=(select max(degree) from score) // 将最高分的限制条件带入式二得出结果

12题:查询Score表中至少有5名学生选修的并以3开头的课程的平均分数。

select avg(degree) from score where cno=() //求出score表中课程号为()的课程的平均分

select cno,count(cno) from score group by cno //求出每门课程选修的学生有多少
select cno from score group by cno having count(cno)>=5 //求出选修人数超过5的课程的代号
select avg(degree) from score where cno=(select cno from score group by cno having count(cno)>=5 and cno like‘3%‘) // 将限制条件至少5名学生选修跟以3开头两个条件带入首式中即可得出结果

16题:查询所有学生的Sname、Cname和Degree列。

1.sname 需要用到 student 表,cname 需要用到 course 表,degree 需要用到score 表
2.需要将三个表建立起联系 student.sno=score.sno course.cno=score.cno
select sname,cname,degree from student,course,score where student.sno=score.sno and course.cno=score.cno //将联系条件带入查询可得结果

17题:查询“95033”班学生的平均分。

1.需要用到score表的内容
select * from score
2.需要用到“95033”班学生的成绩
由于score表中没有class内容,只有学生学号sno,所以就需要到student表中进行调取,查看“95033”班的学生学号是多少
select sno from student where class=‘95033‘
3.然后再求每个学生每门课的成绩
select sno,cno,degree from score where sno in (select sno from student where class=‘95033‘)
4.“95033”班的每个学生的平均分
select sno,avg(degree) from score group by sno having sno in (select sno from student where class=‘95033‘)
5.“95033”班的学生每门课的平均分
select cno,avg(degree) from score group by cno having sno in (select sno from student where class=‘95033‘)
6.“95033”班的学生成绩的平均分
select avg(degree) from score where sno in (select sno from student where class=‘95033‘)

19题:查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录。

select sno,degree from score where cno=‘3-105‘ //查询选修3-105课程的学生的学号和成绩
select degree from score where sno=‘109‘ //查询109号同学的成绩
select * from score where cno=‘3-105‘ and degree>(select degree from score where sno=‘109‘) //将限定条件带入查询语句可得结果

20题:查询score中选学多门课程的同学中分数为非最高分成绩的记录。

1.选学多门课程的同学学号
select sno from score group by sno having count(*)>1
2.每门课的最高分
select max(degree) from score group by cno
3.求结果时,科目跟分数是相关联的,所以需要用到相关子查询
select * from score a where degree <(select max(degree) from score b group by cno having a.cno=b.cno) and sno in (select sno from score group by sno having count(*)>1)

22题:查询和学号为108的同学同年出生的所有学生的Sno、Sname和Sbirthday列。

1.需要用到student表的内容
select * from student
2.要查询的内容是sno,sname,sbirthday
select sno,sname,sbirthday from student
3.需要跟学号为108的同学同年出生,因此需要用到108号学生的生日中的年
select year(sbirthday) from student where sno=‘108‘
4.将限定条件带入查询语句
select sno,sname,sbirthday from student where year(sbirthday) in (select year(sbirthday) from student where sno=‘108‘)

28题:查询“计算机系”与“电子工程系”不同职称的教师的Tname和Prof。

1.需要用到teacher表
select * from teacher
2.需要用到系别为“计算机系”的教师的职称
select prof from teacher where depart=‘计算机系‘
3.需要用到系别为“电子工程系”的教师的职称
select prof from teacher where depart=‘电子工程系‘
4.职称相同的教师职称
select prof from teacher where depart=‘计算机系‘
and
prof in(select prof from teacher where depart=‘电子工程系‘)
5.所需的教师必须是“计算机系”与“电子工程系”
depart in(‘计算机系‘,‘电子工程系‘)
6.将所有条件带入查询语句
select tname,prof from teacher where
prof not in
(
select prof from teacher where depart=‘计算机系‘
and
prof in (select prof from teacher where depart=‘电子工程系‘)
)
and
depart in (‘计算机系‘,‘电子工程系‘)

29题:查询选修编号为“3-105“课程且成绩至少高于选修编号为“3-245”的同学的Cno、Sno和Degree,并按Degree从高到低次序排序。

1.需要用到score表
select * from score
2.选修“3-105”的学生有哪些
select * from score where cno=‘3-105‘
3.选修“3-245”的同学的最高成绩是多少
select max(degree) from score where cno=‘3-245‘
4.从高到低排序需用到order by degree desc
5.将所有条件带入查询语句
select cno,sno,degree from score where
degree>(select max(degree) from score where cno=‘3-245‘)
and
cno=‘3-105‘
order by degree desc

老师给出的另两种求解方式:

select * from score where cno=‘3-105‘ and degree>(select min(degree) from score where cno = ‘3-245‘) //只要是大于选修编号为“3-245”的课程的学生的最低得分就可以算作结果

select cno,sno,degree from score where cno=‘3-105‘ and degree>any(select degree from score where cno = ‘3-245‘) //只要是大于任意一个选修编号为“3-245”的课程的学生的分数就可以算作结果

32题:查询所有“女”教师和“女”同学的name、sex和birthday.

1.需要用到student表的sname,ssex,sbirthday并要改名称为name,sex,birthday,条件必须是“女”的
select sname as name,ssex as sex,sbirthday as birthday from student where ssex=‘女‘
2.需要用到teacher表的tname,tsex,tbirthday并要改名称为name,sex,birthday
select tname as name,tsex as sex,tbirthday as birthday from teacher where tsex=‘女‘
3.需要用到联合查询建立对行的扩展 用到union
select sname as name,ssex as sex,sbirthday as birthday from student where ssex=‘女‘
union
select tname as name,tsex as sex,tbirthday as birthday from teacher where tsex=‘女‘

33题:查询成绩比该课程平均成绩低的同学的成绩表。

1.需要用到成绩表
select * from score
2.需要用到每门课的平均成绩
select avg(degree) from score group by cno
3.相同课程中比该课程平均成绩低的同学
select * from score a where degree<(select avg(degree) from score b group by cno having a.cno=b.cno)
//首先明确最后提取的内容是外层表中的,在提取过程中,系统需要将内层表与外层表的内容进行比较,所以要分别命名外层表跟内层表为a,b以作区别,而系统在调用时是每个都需要调用,而不会是一一对应的调用,所以为了防止在调用过程中,发生数据的重复,要设定只有当两个表中的对应项相等时,该条数据才被提取

40题:以班号和年龄从大到小的顺序查询Student表中的全部记录。

1.班号从大到小 用到 order by class desc
2.年龄从大到小 可以用生日进行比较用到 sbirthday order by (now()-sbirthday) desc  // desc 降序排列
3.查询结果
select * from student order by class desc , (now()-sbirthday ) desc  // 升序排列是 asc 为系统默认,可省略

时间: 2024-11-05 04:02:05

部分重点题型的答题思路的相关文章

《如何突破重点题型》

一.题型梳理教师资格其中必考的一门就是科目一<综合素质>,总分是150分,考试时间是120分钟.从整个卷面来看,综合素质题型分布如下:单项选择题29道,每道题2分,占比38.7%:材料分析题3道,每道14分,占比28%:作文题1道,每道50分,占比33.3%.各部分的基本概况:(一)单项选择题(共29道,每道2分)1.其中职业理念在4道单选题左右,职业道德在4道单选题左右,这两个考察的点基本是以一些真实的案例呈现出来的,难度不大,需要对这两块的知识加以理解即可,能够正确认识即可.2.法律法规在

wex5 初级项目实战入门 01 框架与思路

一.前言 使用wex5一段时间了,感觉wex5自带的baas后端不伦不类,本身用前端的思想去处理后端的技术问题,本身就是不切合实际的一种想法.能不能结合其它后端来提升wex5的整体开发水平和速度呢? 经过对比,选择了thinkphp5+layui2.0+vue.js+wex5的解决方案. 本人是初级学习者,将学习和练习过程记录,希望加深理解,并帮助更多有理想的人,答疑解惑.随后基于四大框架来制作学习视频网站,博客图文跟进介绍,便于同步学习. 先看一下管理后台基本效果. 1.加入动态星星背景的登陆

网络工程师考试下午题如何得高分

网络工程师考试是全国计算机技术与软件水平考试的一项中级资格考试,通过考试的合格人员能根据应用部门的要求进行网络系统的规划.设计和网络设备的软硬件安装调试工作,能进行网络系统的运行.维护和管理,能高效.可靠.安全地管理网络资源,作为网络专业人员对系统开发进行技术支持和指导,具有工程师的实际工作能力和业务水平,能指导网络管理员从事网络系统的构建和管理工作.网络工程师考试是软考的一大热门,怎样才能顺利通过考试是广大考生都想知道的,下面希赛软考学院为您带来网络工程师备考锦囊之答题思路篇,教您下午题如何答

【经验方法】项管复习经验方法谈

微信号:ruankao580 [刘老师言]本文选自叶同学2014年5月考试通过后的经验总结,也同学参加深圳班的考前培训,进入全国前50名,同班级进入前50名的还有兰同学,名次更靠前.我在浏览全国排名的时候一眼就认出了这两位同学,因这两位同学在教学过程中与本人互动较多,能够对复习方法,考点难点等提出问题,故印象较深.我想到去年杭州班有两位40多岁的同学分别在凌晨1点和3点的时候发论文,两位同学均一次性通过. 联想到这些案例,我觉得在整个考试培训过程中,起关键性的作用是: 1. 你的方法: 2. 你

信管考试纪实

因工作需要,于2015年下半年突袭了信息系统管理师考试,很幸运一次性通过了考试.简单记录了一下考试心得,并幸运地得到了<信管网>颁发的征文二等奖:特录于此,聊以记忆. 70天突袭信管纪实,幸运只垂青那些事先做了准备的人 知己知彼百战不殆,幸运只垂青那些有意或无意事先做了准备的人:你信不信,我不管,我信了,也再次管用了.——题记 [人物简介] 本人刚入而立之年,本科机械专业,硕士机电专业,误入通信行业从事软件开发,蹉跎三载,无所长进.期间,公司评定职称,需软考证书:于14年5月报考软件工程师,缘

考研-英语经验贴(总结)

链接地址:https://www.zhihu.com/question/30489978/answer/636082947 猕猴桃学长(英语复习总结) 第一板块 题型分布 序言:很多人在刚开始复习的很长一段时间,都是对考研英语的题型分布不是很熟悉的,然而考研英语不同板块分值差别比较大,至少我们在复习过程中心里对各块分值应该有一个底,能抓住重点,所以首先介绍英语一的题型分布 第一部分 英语知识运用(完形填空) (20*0.5=10分) 在一篇240~280词的文章中留出20个空白,要求考生从每题给

深入理解react中的虚拟DOM、diff算法

文章结构: React中的虚拟DOM是什么? 虚拟DOM的简单实现(diff算法) 虚拟DOM的内部工作原理 React中的虚拟DOM与Vue中的虚拟DOM比较 React中的虚拟DOM是什么?   虽然React中的虚拟DOM很好用,但是这是一个无心插柳的结果.   React的核心思想:一个Component拯救世界,忘掉烦恼,从此不再操心界面. 1. Virtual Dom快,有两个前提 1.1 Javascript很快  Chrome刚出来的时候,在Chrome里跑Javascript非

模电补考计划

补考科目:模拟电子技术基础 补考通过时间:大三上学期开学时补考通过 补考计划:模电作为一门专业基础课,是一门必修课,拿到学分是必须的,学会这门基础课也是必要的,所以掌握好这门课,通过补考应该作为我的一个重点.为了顺利通过补考,我首先要夯实基础,对模电课本上的知识点概念有一个整体的把握,本来考试之前对模电复习的很透,但是由于平时没学好,所以复习时掌握好了知识点,但是对于解题应用什么的完全生涩,所以补考准备是应注重做题,要把课本上的例题课后题做一遍,对于那些不会做的题要请教老师,请教学霸,把它弄懂,

2016考研数学三复习计划

一.学习阶梯划分: 一阶基础 全面复习(3月-6月) 二阶强化 熟悉题型(7月-10月) 三阶模考 查缺补漏(11月-12月15日) 四阶点睛 保持状态(12月16日-考试前) 二.参考书目 : 必备参考资料: 数学考试大纲 <高等数学>同济版:讲解比较细致,例题难度适中,涉及内容广泛,是现在高校中采用比较广泛的教材,配套的辅导教材也很多. <线性代数>同济版:轻薄短小,简明易懂,适合基础不好的学生.<线性代数>清华版:适合基础比较的学生 <概率论与数理统计初步&