问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用SQL语句三种方法查询秋季学期有2门以上课程获90分以上成绩的学生名

发布网友 发布时间:2022-04-07 20:00

我来回答

6个回答

热心网友 时间:2022-04-07 21:30

方法一:连接
select distinct sname from student,sc,course
where student.sno=sc.sno and course.cno=sc.cno
and grade>=90 and semester='秋'
group by student.sno having count(*)>=2

方法二:嵌套
select sname from student where sno in(
select sno from sc where grade>=90 and cno in(
select cno from course where semester='秋')
group by sno having count(*)>=2)

主要是以上两种方法,其它方法都是用以上两种方法演变过来,这里主要用group by sno 对每个学生进行分组,然后用having count(*)>=2对每组进行筛选.

方法三:
select sname from student,(
select sno from sc where grade>=90 and cno in(
select cno from course where semester='秋')
group by sno having count(*)>=2) t where student.sno=t.sno

方法四:
select sname from student where exists(
select * from sc where (
select count(*) from sc where sno=student.sno and grade>=90 and cno in
(select cno from course where semester='秋'))>=2)

类似的方法有很多,主要是连接法和嵌套法.

热心网友 时间:2022-04-07 22:48

1.select SNAME from STUDENT where SNO in
(select SNO from SC where GRADE>90 group by SNO having count(*)>=2)

2.select a.SNAME from STUDENT a,(select SNO from SC where GRADE>90 group by SNO having count(*)>=2) b
where a.SNO=B.SNO

3.select a.SNAME from STUDENT a,SC b where a.SNO=b.SNO and b.GRADE>90
group by a.SNAME having count(*)>2

解释:select SNO from SC where GRADE>90 group by SNO having count(*)>=2 这句就代表按照SNO汇总,分数90以上,并且条数(也就是有两科)也是2门以上(包含2门),如果只是2门以上,你可以把=号去掉

热心网友 时间:2022-04-08 00:22

第一种:
select t1.sname from STUDENT t1 where (select count(*) from SC t2 where t2.sno=t1.sno and
t2.grade>90)>2

第二种:
select t1.sname from STUDENT t1 where t1.sno in
(select sno from SC
where (select count(*) from SC t2
where t2.sno=t1.sno
and t2.grade>90
)>2
)

第三种:
select t1.sname from STUDENT t1
where t1.sno in
(select t2.sno from SC t2 where t2.grade>90 group by t2.sno having count(*)>2)

楼上的写的不错,呵呵

热心网友 时间:2022-04-08 02:14

特别推荐:
select t.*, c.*, s.* from
student t , course c , sc s where t.sno = s.sno and c.cno = s.cno
and s.sno in ( select sno from (
select sno ,count(*) from sc where grade > 90 group by sno having count(*) > 1 ))

热心网友 时间:2022-04-08 04:22

select *
from student A,
(select sno
from sc
where grade > 90
group by sno
having count(sno) > 1) B
where A.sno = B.sno

热心网友 时间:2022-04-08 06:46

select sno, count(*) from sc where grade>90 group by sno having count(*)>2;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华为p7支持法语操作系统? 大白鲨HD6750 1GB GDDR5白金版这个显卡怎么样? 请高手们看看我的配置,加装显卡精影HD6670和HD6750哪个比较合适点... 蓝宝石HD 6750 1GB GDDR5白金版基本参数 ...HD5770 HD6750 HD6670 这几个显卡哪个好一些?大神们帮帮忙 蓝宝HD6750 1GB GDDR5白金版重要参数 ...是蓝宝石 HD6670 1G DDR5 白金版 HD6770 1G DDR5 白金版 HD6750 1G... 蓝宝石: HD6750/1G 黄金版和HD6670 1GB GDDR5白金版哪个好点啊?我的... 如何理解“从众”心理是一把“双刃剑”。 领动用5W30还是用5W40啊 vivo线下能免费体验新耳机吗? 蓝牙耳机和手机连接是收费的吗 如何查看电脑文件安装时间 蓝牙耳机试用5分钟是什么意思? WIN7系统怎么查看驱动程序的安装时间?或者找到驱动安装日志?什么时间系统安装了什么驱动? 怎样查软件的安装时间 怎样知道一个软件是什么时候安装的? 求电脑最近软件安装记录在哪里能找到? 如何查看电脑软件安装日期? 为什么一直显示系统启动中? 宿舍洗衣服一直处于启动中啥意思? 被前男友删了很多次微信,我又加回来,但是电话会接觉得我大晚上会有什么急事正事找他, 大家觉得老板还珠格格第二部的片头曲抄袭凤凰传奇的《中国我爱你》这首歌? 联动云租车日租价格下来60,去深圳不还车就停车算不算异地?然后重新开回来原地方不会扣其他费用吧? 大家觉得老板还珠格格第二部的片头曲抄袭凤凰传奇的《中国我爱你》这首歌? 联动云可以开进深山吗 金盆送喜来,老板发大财得歌名叫什么? 不是内地证件的话可以用联动云汽车吗? 求一篇作文介绍无锡特产的作文,450字 恭喜老板你发大财歌词你一年赚千万 成都联动云租车我从成都开回老家没有结束车晚上停在小区也要算费吗? 淘宝买一个蓝牙耳机,他说质保3年,一年内质量问题免费换新…… 我买了个官换机,用爱思助手检测手机,怎么显示有更换过电池,摄像头,*等的? 用爱思助手检测的准吗? 蓝牙要花钱吗 苹果手机的爱思助手验机是怎么做的哪里验的? 苹果手机售后检测硬件是用爱思吗 爱思检验手机没问题就没事吧? 黄花菜能放多长时间? 在国家教育资源公共服务平台上晒课时不需要上传什么? 郑州教育资源公共服务平台没有下载的资源或资源未返回负载地址是什么意思? 是张涵予今年六岁的拼音怎么拼 train railway subway metro这些词有什么区别 老师要我们用一些典型事例来描写一位老师,作文字数要求在600字... 儿子(6岁11):小学拼音规则知多少 形容火车轨道的词有哪些? 孩子6岁还不会读拼音,如何帮助他? 动车,高铁,轻轨都是什么意思啊?我知道地铁,火车,他们有什么区别吗? 六岁孩子的成语 如何教六岁宝宝学拼音 我最喜欢的一位老师 (600字作文)