永发信息网

数据库里的一个嵌套查询问题

答案:2  悬赏:0  手机版
解决时间 2021-01-31 08:53
select sno from STUDENT where SNO=(select SNO from SCORE where DEGREE between 70 and 90);
他的错误是这样的
消息 512,级别 16,状态 1,第 1 行
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
他的答案是这样的
SELECt SNO FROM SCORE GROUP BY SNO HAVINg MIN(DEGREE)>70 AND MAX(DEGREE)<90;
问题
1为什么我那样写不行啊
2为什么他那样写就行
谢谢
最佳答案
你的查询当然会有问题:用等于号的话,后面的值必须是一个标量(所谓标量就是只能有一个值,或者没有值)。而你的查询中SNO等于之后的子查询返回的明细是有多个记录,故会出错(如果无符合条件的记录,或者只有一个记录那么也是可以执行的)。
 
从你的查询来看,似乎只需要DEGREE在70和90之间的SNO记录,那么直接用子查询就好了:
select SNO from score where degree between 70 and 90;
如果想要sutdent的资料,那么内连接子查询:
select s.*
from student s
inner join (select distinct SNO from score where degree between 70 and 90) t on s.SNO = t.SNO;
全部回答
select c.companyname,a.userid,a.loginname,b.departmentid,a.password from user a left join department b on a.departmentid = b.departmentid left join company c on b.companyid = c.companyid where a.loginname like 'tony%'
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
车挂一档,然后开到80到100对车有什么影响
【前不见古人后不见来者】前不见古人,后不见
刘恺威家里有钱吗
"我喜欢你并不是因为你的外表,而是因为你有一
请问如何设置QQ空间留言板的个性签名,就是说
翻译成英文 最好较有诗意 作为自我的存在
和女朋友聊天聊什么才能不被觉得没劲啊?
比较级句型结构
16. ----It’s getting dark, but Mr. Johnso
家里的台式机装了一个无线路由器给笔记本上网
U盘里的这些是什么东西。。 U盘是酷刃 USB 闪
有谁听说过24金贵金属吗?
历史人物武媚娘的好姐妹是谁?是徐盈盈还是徐
山东省有哪些旅游景点比较好玩
壤塘县体育局地址好找么,我有些事要过去
推荐资讯
1981鸡男1983猪女2017年结婚好不
小陈洗车地址有知道的么?有点事想过去
“对东印度开始进行征服和掠夺,非洲变成商业
这双 男士松糕鞋搭配什么裤子好 最好不要小脚
小米note手机的闹钟怎样调成只有振动,没有铃
具有燥湿健脾功效的药物是()A.苍术B.厚朴C.豆
请问各位: 在国际贸易中,什么是换单税?什
从没带套,但对方也没怀孕过(没做过任何避孕措
衣柜背面是卫生间,请问需要做放潮处理吗
女生用哪个英文名字好呢?EVAN,EVEN,EVA,E
如何修改ISO文件的扩展名
永信二手车(南平武夷山市)地址在什么地方,想
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?