查询1号课程成绩比2号同学该门课程成绩高的所有学生的学号

技术更新太快 2009-03-17 02:49:37
有S表,表里面有
SNO INT --主键,学生编号
SNAME --学生姓名
有C表 ,表里有
CNO INT --主键,课程名称编号
CNAME --课程名称
CTEACHER --授课老师姓名
有sc表,表里有
SNO --外键 学生编号
CNO --外键 ,课程编号
SCGRADE --学生成绩
问题是 :列出“1”号课程成绩比“2”号同学“1”号课程成绩高的所有学生编号
...全文
2979 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
htl258_Tony 2009-04-04
  • 打赏
  • 举报
回复
-->生成测试数据
if object_id('s') is not null
drop table s
GO
create table s
(
SNO INT, --主键,学生编号
SNAME VARCHAR(10)--学生姓名
)
go
insert s select 1 ,'a'
insert s select 2 ,'b'
insert s select 3 ,'c'
insert s select 4 ,'d'
insert s select 5 ,'e'

if object_id('c') is not null
drop table c
go
create table c
(
CNO INT, --主键,课程名称编号
CNAME varchar(10),--课程名称
CTEACHER varchar(10) --授课老师姓名
)
go
insert c select 1 ,'aa','q'
insert c select 2 ,'bb','w'
insert c select 3 ,'cc','e'

if object_id('sc') is not null
drop table sc
go
create table sc
(
SNO int, --外键 学生编号
CNO int, --外键 ,课程编号
SCGRADE int --学生成绩
)
go
insert sc select 1,1,90
insert sc select 1,2,70
insert sc select 1,3,75
insert sc select 2,1,80
insert sc select 2,2,83
insert sc select 2,3,87
insert sc select 3,1,80
insert sc select 3,2,78
insert sc select 3,3,88
insert sc select 4,1,82
insert sc select 4,2,84
insert sc select 4,3,95
insert sc select 5,1,89
insert sc select 5,2,75
insert sc select 5,3,86

select SNO from sc s where cno='1' and exists(select 1 from sc where cno='1' and sno='2' and scgrade<s.scgrade)
/*
SNO
-----------
1
4
5

(3 行受影响)
*/
楼主要求的是学生编号,这是学生编号(SNO)的。
htl258_Tony 2009-04-04
  • 打赏
  • 举报
回复
-->生成测试数据
if object_id('s') is not null
drop table s
GO
create table s
(
SNO INT, --主键,学生编号
SNAME VARCHAR(10)--学生姓名
)
go
insert s select 1 ,'a'
insert s select 2 ,'b'
insert s select 3 ,'c'
insert s select 4 ,'d'
insert s select 5 ,'e'

if object_id('c') is not null
drop table c
go
create table c
(
CNO INT, --主键,课程名称编号
CNAME varchar(10),--课程名称
CTEACHER varchar(10) --授课老师姓名
)
go
insert c select 1 ,'aa','q'
insert c select 2 ,'bb','w'
insert c select 3 ,'cc','e'

if object_id('sc') is not null
drop table sc
go
create table sc
(
SNO int, --外键 学生编号
CNO int, --外键 ,课程编号
SCGRADE int --学生成绩
)
go
insert sc select 1,1,90
insert sc select 1,2,70
insert sc select 1,3,75
insert sc select 2,1,80
insert sc select 2,2,83
insert sc select 2,3,87
insert sc select 3,1,80
insert sc select 3,2,78
insert sc select 3,3,88
insert sc select 4,1,82
insert sc select 4,2,84
insert sc select 4,3,95
insert sc select 5,1,89
insert sc select 5,2,75
insert sc select 5,3,86

select * from sc s where cno='1' and exists(select 1 from sc where cno='1' and sno='2' and scgrade<s.scgrade)
/*
SNO CNO SCGRADE
----------- ----------- -----------
1 1 90
4 1 82
5 1 89

(3 行受影响)
*/
lizzier 2009-04-04
  • 打赏
  • 举报
回复
select s.sno
from sc,c,s
where c.cno='1' and scgrade>(
select scgrade
from sc,c,s
where c.cno='1' and s.sno='2' )
  • 打赏
  • 举报
回复 1
select sno 
from sc
where cno = '1'
and scgrade >(
select SCGRADE from sc where sno = '2' and cno = '1')
-狙击手- 2009-04-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 luoxiu128 的帖子:]
有S表,表里面有
SNO INT --主键,学生编号
SNAME --学生姓名
有C表 ,表里有
CNO INT --主键,课程名称编号
CNAME --课程名称
CTEACHER --授课老师姓名
有sc表,表里有
SNO --外键 学生编号
CNO --外键 ,课程编号
SCGRADE --学生成绩
问题是 :列出“1”号课程成绩比“2”号同学“1”号课程成绩高的所有学生编号
[/Quote]
select sno
from sc
where cno = '1'
and scgrade >(
select SCGRADE from sc where sno = '2' and cno = '1')
技术更新太快 2009-04-04
  • 打赏
  • 举报
回复
2号是学生编号啊,1号才是课程编号啊
我想起来了,这个不是我要的答案啊
只不过我觉得我那个想的太复杂了,
又没有比较简单的
select sc.sno from sc where sc.SCGRADE >select sc.SCGRADE FROM SC WHERE SC.CNO=(select c.cno from c where c.cname='1') and sc.sno=(select s.sno from s where s.sname='2')) and SC.CNO=(select c.cno from c where c.cname='1')
我是这样想的,不知道对不对
dawugui 2009-03-17
  • 打赏
  • 举报
回复
select m.sno from sc m , sc n where m.CNO = '1' and n.CNO = '2' and m.SCGRADE > n.SCGRADE
内容概要:本文围绕基于三重移相控制(TPS)的双有源桥(DAB)频隔离DC-DC变换器开展系统性研究,重点构建了其在Simulink环境下的精度仿真模型。研究全面涵盖SPS单相移相、DPS双重重移相与TPS三重移相等多种控制策略的建模、实现与性能对比,深入分析不同模式下变换器的功率传输特性、软开关实现条件及功率回流问题,旨在提升DAB在交直流混合微电网、能量路由器、多端口柔性互联装置等场景中的转换效率与动态响应能力。通过对ZVS(零电压切换)条件的精确控制与移相角参数的优化,有效降低了开关损耗,增强了系统整体能效与运行稳定性。该仿真模型具有良好的可扩展性,适用于复杂电能转换系统的科研验证与工程开发。; 适合人群:电力电子、电气工程及其自动化等相关专业的硕士研究生、博士生、科研人员以及从事新能源变换器、柔性输配电系统设计的工程技术人员。; 使用场景及目标:①掌握双有源桥DAB变换器的基本工作原理及其在频隔离场合的核心优势;②深入理解三重移相控制策略的设计机理、控制自由度分配及其在效率优化中的关键作用;③构建并调试可用于科研论文撰写、项目申报或实际系统验证的保真Simulink仿真模型,支撑理论分析与实验对比。; 阅读建议:建议结合MATLAB/Simulink平台进行动手实践,重点关注主电路拓扑搭建、移相控制模块设计、驱动信时序配置及ZVS实现条件的仿真观测,推荐通过对比SPS、DPS与TPS三种模式的稳态与动态响应曲线,深入掌握各控制策略的适用边界与优化方向。
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!

22,297

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧