请教sql语句

ustbzhangwei 2004-12-18 11:51:41
有一个表Score(Student_ID, Score_ID, Score),均为int型,含义分别为学号,课程号,分数

现在,要查出每门功课都在80分以上的所有学生ID

请问sql语句怎么写
...全文
163 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ustbzhangwei 2004-12-21
  • 打赏
  • 举报
回复
试了,可以。
谢谢大家,尤其感谢NinGoo(宁哥)
NinGoo 2004-12-18
  • 打赏
  • 举报
回复
写错了,不过在group by后面不能用where只能用having。呵呵
NinGoo 2004-12-18
  • 打赏
  • 举报
回复
having相当于where,不过在group by后面不能用where只能用when
ustbzhangwei 2004-12-18
  • 打赏
  • 举报
回复
顺便问一句,还有没有其他功能等价语句,效率如何
ustbzhangwei 2004-12-18
  • 打赏
  • 举报
回复
请问 NinGoo(宁哥)
having 是什么含义
NinGoo 2004-12-18
  • 打赏
  • 举报
回复
select Student_ID from Score group by Student_ID having min(score)>=80

楼主的意思应该包含80分吧,呵呵
NinGoo 2004-12-18
  • 打赏
  • 举报
回复
select Student_ID from Score group by Student_ID having min(score)>80
enjoy330 2004-12-18
  • 打赏
  • 举报
回复
sorry ! 口误。
楼主试了没?
didoleo 2004-12-18
  • 打赏
  • 举报
回复
啊?!斑竹也来了?
enjoy330 2004-12-18
  • 打赏
  • 举报
回复
select Student_ID from Score group by Student_ID having min(score)>=80

好象不行吧?斑竹试了这条语句没有?
NinGoo 2004-12-18
  • 打赏
  • 举报
回复
上面忘记加distinct了,下午上课没来得及说,现在补上,呵呵
select distinct id from table3 where id not in
(select id from table3 where score<80)


至于效能,第一个语句只需要一次扫描,第二局需要2次扫描,我认为还是第一句好一点,呵呵
lxysjl 2004-12-18
  • 打赏
  • 举报
回复
mark
NinGoo 2004-12-18
  • 打赏
  • 举报
回复
这样写也可以

select id from table3 where id not in
(select id from table3 where score<80)

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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