首页 > 试题广场 >

运动会比赛信息的数据库,有如下三个表: 运动员ATHLET

[单选题]
运动会比赛信息的数据库,有如下三个表:
运动员ATHLETE(运动员编号 Ano,姓名Aname,性别Asex,所属系名 Adep), 项目 ITEM (项目编号Ino,名称Iname,比赛地点Ilocation), 成绩SCORE (运动员编号Ano,项目编号Ino,积分Score)。
写出目前总积分最高的系名及其积分,SQL语句实现正确的是:(      )
  • SELECT Adep,SUM(Score)FROM ATHLETE,SCORE

    WHERE ATHLETE.Ano=SCORE.Ano GROUP BY Adep HAVING SUM(Score)>=ANY

    (SELECT SUM(Score) FROM ATHLETE,SCORE

    WHERE ATHLETE.Ano=SCORE.Ano GROUP BY Adep)
  • SELECT Adep,SUM(Score)FROM ATHLETE,SCORE

    WHERE ATHLETE.Ano=SCORE.Ano GROUP BY Adep HAVING SUM(Score)>=SOME

    (SELECT SUM(Score) FROM ATHLETE,SCORE WHERE ATHLETE.Ano=SCORE.Ano GROUP BY Adep)
  • SELECT Adep,SUM(Score)FROM ATHLETE,SCORE  WHERE ATHLETE.Ano=SCORE.Ano GROUP BY Adep  HAVING SUM(Score) IN

    (SELECT SUM(Score) FROM ATHLETE,SCORE WHERE ATHLETE.Ano=SCORE.Ano GROUP BY Adep)
  • SELECT Adep,SUM(Score)FROM ATHLETE,SCORE  WHERE ATHLETE.Ano=SCORE.Ano GROUP BY Adep  HAVING SUM(Score)>=ALL

    (SELECT SUM(Score) FROM ATHLETE,SCORE WHERE ATHLETE.Ano=SCORE.Ano GROUP BY Adep)
All:对所有数据都满足条件,整个条件才成立;
Any:只要有一条数据满足条件,整个条件成立;
Some的作用和Any一样 .
发表于 2020-03-17 17:20:57 回复(3)

这两个都是用于子查询的

any 是任意一个 
all 是所有

any表示有任何一个满足就返回true,all表示全部都满足才返回true 

发表于 2020-02-29 00:11:12 回复(2)
瞎了,竟然没看到any和all
发表于 2020-03-08 00:59:07 回复(3)

any与some可以看做等价的 那必然就是all了 用max等价替换 说明选出的就是最大值

发表于 2020-02-09 21:48:22 回复(1)
这题不能使用order by sum(score) desc 加上limit 1 不行吗?干嘛要写复杂
发表于 2021-06-11 02:36:24 回复(1)
设计的知识包括分组(GROUP BY、HAVING)联结(数据存在多个表中),子查询(ALL ANY SOME的区别)
发表于 2020-10-13 20:40:45 回复(0)
查询语句基本一样,区别在条件判断语句上:ANY()、SOME()、ALL()。我理解上,这三个函数是语句对内条件进行多次where判断。
A、ANY():where a>b OR a>b OR a>b
B、SOME():where a>b OR a>b OR a>b
C、IN():查询某个范围内的数据,与题判断不符
D、ALL():where a>b ANDa>b ANDa>b
三个函数区别在where后判断连接上,题目要求选出最大的,就是比每个都大,所以是AND,选D
发表于 2021-01-07 11:00:18 回复(0)
D是>=ALL,A是>=ANY
发表于 2019-10-06 15:33:01 回复(0)
having 用于分组(group by)之后的筛选;
all:表示所有数据均满足条件时才成立
any:表示有一组数据满足条件时即成立

发表于 2020-09-20 16:04:09 回复(0)
A是any大于任意一个,D是all大于所有的
发表于 2020-02-27 10:59:31 回复(0)
大神们,这个题还有其他写法吗?
发表于 2022-03-09 11:41:02 回复(1)
All只有所有数据都满足条件
eg:select sid ,sname from student,score 
    where student.sid=score.student_id 
    group by course_id
    having sum(score) >= ALL (select sum(score)  as 总成绩 from score where student.sid=score.student_id group by course_id)
                    总成绩 >=   从成绩表计算出来的所有总成绩                      这句话的意思是要从score表中 找出 总成绩最高的 
                                        Any 的话是>= 任意一个总成绩 都可以使条件成立
                                        some的作用同 Any 一样
                    本人自己理解 望大佬指点 指教 纠错 谢谢您
发表于 2022-01-07 11:25:49 回复(0)
既然all是代表全部,any和some都是任一即可,那么既生any何生some?
编辑于 2020-07-09 18:03:04 回复(0)
>=ANY相当于>=Min
>=ALL相当于>=Max
发表于 2022-04-21 14:14:32 回复(0)
>=ALL是什么意思呀


发表于 2020-07-23 23:36:55 回复(1)
出生一样的排版
发表于 2023-08-25 14:52:43 回复(0)
为什么要做嵌套查询,这个题意好像没太懂有没有大佬帮帮🥺🥺🥺🥺🥺🥺🥺
发表于 2023-02-26 01:11:33 回复(1)

any 是任意一个  any表示有任何一个满足就返回true
all 是所有 all表示全部都满足才返回true 


发表于 2022-07-28 17:30:23 回复(0)
all表示的是对所有数据any,some只要有即可。
发表于 2021-11-16 19:53:12 回复(0)
any和some的效果类似
发表于 2021-08-28 09:37:05 回复(0)