【笔试学习工作必备!】六道经典SQL语句题完全掌握SQL语句

学生表S (SNO学号,Sname姓名,Class班级,Shigh身高)

课程表C(CNO课程号,CName课程名,CPreNO预修课程编码)

成绩表SC(CNO课程号,SNO学号,SCgrade成绩)

1、体育生选拔,要求身高在170cm以上,考试不及格课程在3门以下(不包括3门)平均成绩在60分以上。

学号姓名身高平均成绩

2、所有预选课程都已经合格的学生(预选课程不存在嵌套循环的情况)。

3、同时选修了‘离散数学’与‘组成原理’的,且高等数学成绩大于80分的。

学号姓名离散数学组成原理高等数学

分数分数分数

4、列出各门课程前三名(成绩相同,学号小的排名在前)

第一名第二名第三名

课程名班级:姓名:成绩班级:姓名:成绩班级:姓名:成绩

5、统计各科的学习情况。

课程名60以下[60,70)[70,85)[85,100)

6、按班级统计各科平均成绩。

课程名第一第二第三

班级:平均成绩班级:平均成绩班级:平均成绩

7、按班级统计各科平均成绩后,第一名3分,第二名2分,第三名1分,其他计0.5分(可以并列名次),最后给班级排名。(最后成绩一样,按班级序号小的排前)

第一名第二名第三名

Sql代码 收藏代码

--第1题
select td_b.SNO 学号, td_b.SNAME 姓名, td_b.SHIGH 身高, td_a.avgGrade 平均成绩 from
(select S.SNO,avg(SCgrade) as avgGrade from S,SC
where
S.SNO = SC.SNO and
S.Shigh>170
group by S.SNO
having
avg(SCgrade)>60) td_a
left join(
select * from S where not exists (
select a.sno from S a, SC b where
a.sno = b.sno
and b.scgrade<60
group by a.sno
having count(*) < 3)
) td_b
on td_a.SNO = td_b.SNO
--第2题
--第3题
select distinct S1.SNO as 学号, S1.SNAME as 姓名,
(select SC.SCgrade from SC,C where SC.CNO=C.CNO and C.CNAME='离散数学' and SC.SNO = SC1.SNO) as 离散数学,
(select SC.SCgrade from SC,C where SC.CNO=C.CNO and C.CNAME='组成原理' and SC.SNO = SC1.SNO) as 组成原理,
(select SC.SCgrade from SC,C where SC.CNO=C.CNO and C.CNAME='高等数学' and SC.SNO = SC1.SNO) as 高等数学
from SC SC1, S S1
where
SC1.SNO = S1.SNO
and S1.SNO in
(
select S.SNO from S,C,SC
where
S.SNO = SC.SNO and
SC.CNO = C.CNO and
C.CNAME='离散数学' and
S.SNO in (select t1.SNO from SC t1, C t2 where t1.CNO=t2.CNO and t2.cname='组成原理') and
S.SNO in (select t3.SNO from SC t3, C t4 where t3.CNO=t4.CNO and t4.Cname='高等数学'and t3.scgrade>80)
)
----另解
select distinct s.sno,s.sname,
(select scgrade from sc left join c on sc.cno=c.cno where c.cname='离散数学' and sc.sno=sc1.sno)"离散数学",
(select scgrade from sc left join c on sc.cno=c.cno where c.cname='组成原理' and sc.sno=sc1.sno) "组成原理",
(select scgrade from sc left join c on sc.cno=c.cno where c.cname='高等数学' and sc.sno=sc1.sno) "高等数学"
from s,sc sc1,C
where sc1.sno=s.sno
and s.sno in
(
select sno from sc left join c on sc.cno=c.cno where c.cname='离散数学' intersect
select sno from sc left join c on sc.cno=c.cno where c.cname='组成原理' intersect
select sno from sc left join c on sc.cno=c.cno where c.cname='高等数学' and sc.scgrade>80)

--第4题
select C.CNAME as 课程名,
max(case when ro=1 then '班级:'||td_b.class||' 姓名:'||S.SNAME||' 成绩:'||td_b.SCgrade else null end) as 第一名,
max(case when ro=2 then '班级:'||td_b.class||' 姓名:'||S.SNAME||' 成绩:'||td_b.SCgrade else null end) as 第二名,
max(case when ro=3 then '班级:'||td_b.class||' 姓名:'||S.SNAME||' 成绩:'||td_b.SCgrade else null end) as 第三名
from
(
select td_a.CNO, td_a.SNO, td_a.class, td_a.SCgrade, row_number() over(partition by CNO order by SCgrade desc) ro
from
(select CNO, S.SNO, Class, SCgrade
from S inner join SC
on S.SNO = SC.SNO
group by CNO, S.SNO, Class, SCgrade
order by S.SNO)td_a
)td_b , C, S
where td_b.cno = C.CNO and td_b.sno = S.SNO
group by CNAME
--第5题
select c.cname "课程号",
sum(case when (scgrade<60) then 1 else 0 end) "60分以下",
sum(case when (scgrade<70 and scgrade>=60) then 1 else 0 end) "[60,70)",
sum(case when (scgrade<85 and scgrade>=70) then 1 else 0 end) "[70,85)",
sum(case when (scgrade<=100 and scgrade>=85) then 1 else 0 end) "[85,100]"
from sc,c
where sc.cno=c.cno
group by c.cname
order by c.cname
--第6题
select CNAME 课程名,
max(case when ro=1 then '班级:'||td_b.Class||' 平均成绩:'||td_b.K_avg else null end) 第一,
max(case when ro=2 then '班级:'||td_b.Class||' 平均成绩:'||td_b.K_avg else null end) 第二,
max(case when ro=3 then '班级:'||td_b.Class||' 平均成绩:'||td_b.K_avg else null end) 第三
from
(
select td_a.CNO, td_a.Class, td_a.K_avg, row_number() over(partition by CNO order by K_avg desc)ro
from
(select distinct CNO, Class, avg(SCgrade)K_avg
from S inner join SC
on S.SNO = SC.SNO
group by CNO, class
order by class)td_a
)td_b, C
where td_b.CNO = C.CNO
group by CNAME
order by CNAME
--第7题
----没有max选出来有三行数据(td_e有三行数据),有了max就只有一行数据了正为所有数据
select max(case when rownum=1 then td_d.class else null end) 第一名,
max(case when rownum=2 then td_d.class else null end) 第二名,
max(case when rownum=3 then td_d.class else null end) 第三名
from
(
select td_c.class, sum1+sum2+sum3+sum4 as tscore
from
(
select td_b.class,
sum(case when ro=1 then 3 else 0 end) as sum1,
sum(case when ro=2 then 2 else 0 end) as sum2,
sum(case when ro=3 then 1 else 0 end) as sum3,
sum(case when ro<>1 and ro<>2 and ro<>3 then 0.5 else 0 end) as sum4
from
(
select td_a.CNO, td_a.Class, td_a.K_avg, row_number() over(partition by CNO order by K_avg desc)ro
from
(select distinct CNO, Class, avg(SCgrade)K_avg
from S inner join SC
on S.SNO = SC.SNO
group by CNO, class
order by class)td_a
)td_b
group by td_b.class
order by td_b.class
)td_c
order by tscore desc
)td_d
国企软件开发岗校招指南 3.中国核动力研究所 这个单位是事业单位,入职给事业编,薪资据说税前14-18W。 笔试:五、六道大题的样子,做卷子,内容涉及操作系统、数据库、字符串算法题、还有个SQL题(我觉得这个SQL挺难的,当时竟然没写出来) 面试:就是谈人生摆理想,就不细说了,反正吹就对了 PS:发offer很快,没几天就发了 4.中电十所 中电十所去年招人比较多,没有笔试,投了简历后直接两轮面试 一面: 问题一:JAVA三大特性?继承和多态的优缺点? 问题二:zookeeper节点数有上限吗? 问题三. 阅读详情

相关推荐

特征模理论指导滤波天线设计的优势和方法

本文探讨了特征模理论在滤波天线设计中的应用优势和方法。特征模理论通过分析天线结构的本征模特性,突破了传统经验设计的局限,实现了辐射与滤波功能的一体化设计。文章重点阐述了如何利用模式显著性(MS)和模式加权系数(MWC)来指导辐射零点的产生,揭示了辐射零点形成的物理机制。通过特征模分析,设计师可以明确调控天线结构和馈电系统,优化滤波性能。这种方法为现代多频/宽带滤波天线设计提供了理论依据和实用工具,显著提升了设计效率和性能指标。

qq_64207806的博客 957

一篇彻底学会常用的sql语句

为了以后查阅方便,对常用的sql语句进行一下总结。主要内容包括,增删改查(CURD),重点在查询(子查询,模糊查询,分组查询等)。 在开始之前,要注意:sql是不区分大小写的,但是为了代码容易阅读与调试,一般将Sql关键字大写,对所有的表名和列明使用小写。多条sql语句需要用 分号(;)分隔,单条可以不加,但为了不出现错误,一般都加上,使用mysql命令行必须加分号来结束。另外sql语句可以写在一

怕什么真理无穷, 进一寸有一寸的欢喜 5424

Zigbee开发环境搭建:从驱动安装到程序烧录全指南

本文提供了一份详尽的Zigbee开发环境搭建全指南,涵盖从驱动安装到程序烧录的完整流程。重点介绍了使用SmartRF Flash Programmer和仿真器进行程序下载的关键步骤,并详细说明了USB转串口驱动的配置方法,帮助开发者快速构建稳定的Zigbee开发基础。

weixin_29195217的博客 394

连接查询 left join on, union

1.自然连接 连接s和sc表 select s.sno,sn,sex,age,dept,cno,score from s ,sc where s.sno=sc.sno 2.外连接 左连接 left join on 连接s和sc表 select s.sno,sn,sex,age,dept,cno,score from s left join sc on s.sno=sc.sno ...

weixin_30325487的博客 149

科研绘图神器Origin2024最新中文版安装教程:5分钟搞定所有配置

本文提供了一份详细的Origin2024中文版安装与配置指南。从系统环境核查、安装包获取验证,到分步安装、语言切换及关键初始设置,手把手教你5分钟完成所有基础配置。同时,指南还分享了首次启动后的个性化设置与高效绘图工作流,助你快速上手这款科研绘图神器,提升数据处理与图表制作效率。

weixin_29247219的博客 1041

基于HetConv与Dual策略的YOLOv8轻量化设计-CSPHet结构的优化与实现

在计算机视觉中,YOLOv8作为目标检测领域的最新版本,通过引入多种改进来提升检测精度和速度。然而,提升精度和保持实时性能往往需要更多参数与计算量。本文提出一种结合Dual思想与HetConv的新型轻量化结构,称为CSPHet。CSPHet能够在保持YOLOv8检测精度的基础上有效减少约70万参数量,实现模型的轻量化和速度的提升。HetConv(Heterogeneous Convolution)是一种混合卷积技术,通过同时使用1x1、3x3等不同大小的卷积核,来捕捉不同尺度的特征。

博客 1324

SQL题目及其解答(学生、课程、成绩、教师)

–原题目 https://blog.youkuaiyun.com/tu451953337/article/details/45147757 --create table t_student(stuid int primary key,name varchar(20), age int, sex char(1)); -- ---------------------------- -- Records of t...

米洛尔的博客 1389

Android 12.0 SystemUI下拉状态栏定制化之隐藏下拉通知栏布局功能实现(二)

在12.0的系统定制化开发中,由于从12.0开始SystemUI下拉状态栏和11.0的变化比较大,所以可以说需要从新分析相关的SystemUI的 布局,然后做分析来实现不同的功能,今天就开始实现关于隐藏SystemUI下拉状态栏中的通知栏布局系列二,去掉下拉状态栏中 通知栏部分 白色的圆角背景

安卓兼职framework和app工程师的博客 1634

笔试题:第五道和第六道怎么解?

最近参加了一个面试。   之前在网上查询此公司的信息,一大堆诋毁的言论。 到公司之后,感觉并没有网上所说的不堪。除了气氛不是很轻松以外,别的都还可以。   面试官也很和蔼。   进去之后,面试官说一会还有个会,让我先作一套题。   因为是外企,所以题都是英文的。 一共6道题。第一道:给出一个程序,给出结果。是关于String不变性的考察,很基础,很简单。 第二道:关于接口和抽...

当当的量子篮 326

Coze智能体开发:扣子空间制作PPT功能

扣子空间内置了丰富的场景模板,涵盖人文历史、学术分享、研究报告、数据分析等场景,可以满足不同用户的需求。 你只需输入与制作 PPT 相关的提示词,Agent 就能基于这些提示词展示思考的过程,并自动生成完整的 PPT。

王国平的博客 2052

地方政府预算数据抓取:利用Python爬虫获取预算安排、资金分配与支出情况

爬虫是通过模拟浏览器行为,从互联网上自动获取数据的程序。在本案例中,我们将通过爬虫从地方政府的官方网站或预算公开平台抓取各类预算信息。这些信息一般以HTML网页的形式呈现,可以通过爬虫对网页内容进行解析,提取所需的预算数据。Python作为数据抓取的强大工具,凭借其简洁的语法、强大的第三方库(如requestsSelenium等)以及丰富的数据处理能力,成为了开发爬虫应用的首选语言。

2201_76125261的博客 941

2012中兴软件笔试 回忆录

昨晚中兴笔试,时间为70分钟,题量和网上流传的2012年(是2012年招聘,其实是2011年考的题,下载链接为:http://download.youkuaiyun.com/detail/yanzi1225627/4573065)的题量一模一样。分别是: 选择题:20*1分 多选题:20*2分 判断题:10*1分 简答题:4*4 编程题:2*7 时间不算紧张,因为前面选择题和判断不会也可以蒙。今年...

移动开发记录 89

2025华为杯第二十二届中国研究生数学建模竞赛C题:围岩裂隙精准识别与三维模型重构 - 完整解题分析+完整MATLAB源码!(下篇)

🎓 本文收录于 《滚雪球学数学建模》专栏,本专栏专注于从零基础出发,带你循序渐进掌握数学建模的核心方法与思维路径。通过“滚雪球式”学习法,从最简单的生活化案例到经典建模工具,再到省赛、国赛真题实战演练,逐步积累知识与技能,帮助你搭建完整的建模体系。无论你是刚接触建模的新生,还是希望提升科研与竞赛能力的学者与工程师,本专栏都将为你提供一条清晰、高效、可实操的建模成长路线,助力你快速进阶,突破难点,迈向数学建模竞赛与实际应用的更高峰 🚀!

**My Coding Family** 1619

2013豆瓣校园招聘研发类笔试题-B卷

1.求以下程序的输出结果:                          【5分】 1. int foo(int x, int y){  if(x return 4 * foo(x - 1, y / 2); } printf("%d\n", foo(3, 5));  A. 256     B.64     C.16     D.4     E.1 2.文法G:S->uvSvu|

mycandy的专栏 1095

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

软件实施

qiaoqinqie的专栏 1371

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

2013豆瓣校园招聘研发类笔试题

1.求以下程序的输出结果: 【5分】 1. int foo(int x, int y){ if(x return 4 * foo(x - 1, y / 2); } printf("%d\n", foo(3, 5)); A. 256 B.64 C.16 D.4 E.1 2.文法G:S->uvSvu|w所识别的语言是: 【5分】 A. uvw*vu B. (uvwvu)* C. u

梦之音的专栏 1556

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

程序员笔试题---搜狐

今天下午进行了搜狐公司实习生研发岗的笔试,题目都很基础,HR妹妹也很漂亮,也很温柔哦! 一、判断题 1.c语言中,int类型占4个字节。 这个具体的要看编译器的位数: 2.IPv4占4个字节,IPv6占6个字节。  iPv4占4个字节,IPv6占128位,就是16个字节 3.CPU占用的地址都是虚拟内存地址。 还有六道记不起来了,都是一些很基础的。 二、不定项选择题 1.

知其然,知其所以然! 3198

游戏开发校招笔试复盘:搜狐畅游补招C++与引擎考点详解

校招笔试是企业筛选技术人才的关键环节,游戏开发岗位的笔试尤为特殊,它不局限于通用算法,更侧重C++底层机制、游戏引擎运行原理与图形学基础。理解虚函数动态绑定、内存布局、渲染管线等核心概念,能够帮助候选人在有限时间内精准分配答题精力。掌握这些知识不仅有助于应对技术笔试,也为后续的游戏客户端开发实践打下扎实基础。本文以搜狐畅游补招笔试为样本,逐模块拆解计算机基础、C++专项、引擎图形学、算法编程与逻辑题的考察逻辑,并提供备考优先级建议,适合正在准备游戏开发校招的读者参考。

weixin_34246826的博客 252
上一篇: 海量数据处理面试题集锦与Bit-map详解
下一篇: 及20款开源搜索引擎系统
itfafa
博客等级 码龄15年 3粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值