我目前正在大学学习数据库系统课程,这是我的导师给出的一个我无法弄清楚的练习中的一个问题。我能够做其他问题。在此先感谢。(主键是斜体)
QUESTION // 请考虑以下关系模式。
学生( sid ,sname,地址,城市,gpa)
当然( cid ,cname,iid)
注册( sid,cid ,年级)
讲师( iid ,iname)
为以下各项提供相应的SQL查询。
答案 0 :(得分:0)
我想尝试的psedocode是按降序选择前十名学生的gpa。那时你有desc(最大到最小)的10个GPA。第10位在底部。但你怎么得到第10个?您可以子查询该查询的结果,以便以升序(从最小到最大)的顺序获得最高值。
子查询的一般方法:
SELECT dT.Col1
FROM (
SELECT Col1
FROM Table
--ORDER BY?
) AS dT
--ORDER BY ?
答案 1 :(得分:0)
我解决了这个问题随意做出任何更正。感谢您提供有用的评论。
SELECT sid, sname
FROM ( SELECT sid, sname
FROM student
ORDER BY gpa DSC LIMIT 10)
ORDER BY gpa ASC LIMIT 1