S(S#,SNAME,AGE,SEX)
C(C#,CNAME,TEACHER)
SC(S#,C#,GRADE)
就是一条SQL语句,不用别的。
sql语句:找出课程“数据库”排名第3的学生姓名
答案:5 悬赏:40 手机版
解决时间 2021-02-11 17:41
- 提问者网友:佞臣
- 2021-02-10 18:06
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-02-10 18:25
(select top 1 SC.S#,SC.C# from SC,
(select top 2 S#,C# from sc where C# in (select C# from C where CName='数据库')
order by Grade desc) t
where SC.S#<>t.S# and SC.C#<>t.C#
order by sc.Grade desc)
--思路 去掉分数最多的前2条 剩余的最大的就是第三条
(select top 2 S#,C# from sc where C# in (select C# from C where CName='数据库')
order by Grade desc) t
where SC.S#<>t.S# and SC.C#<>t.C#
order by sc.Grade desc)
--思路 去掉分数最多的前2条 剩余的最大的就是第三条
全部回答
- 1楼网友:梦中风几里
- 2021-02-10 21:48
desc分数 取前三条,然后再asc这三条数据取第一条 sqlserver : top 3 mysql : limit 3,1
- 2楼网友:爱难随人意
- 2021-02-10 21:02
SELECt *
FROM
(
SELECt SNAME, T2.CNAME, T3.GRADE, ROWNUMBER() OVER (ORDER BY T3.GRADE DESC) RANKING
FROM S T1
LEFT OUTER JOIN SC T2
ON T1.S# = T2. S#
LEFT OUTER JOIN C T3
ON T2.C# = T3.C#
) A
WHERe A.RANKING = 3
- 3楼网友:第幾種人
- 2021-02-10 20:20
select S.SNAME
FROM S,C,SC
WHERe S.S#=C.C# AND C.C#=SC#
AND S.S#=(SELECt S#
FROM (SELECt S#, ROW_NUMBER()OVER(ORDER BY GRADE) AS NUM FROM dbo.SC#) AS A
WHERe NUM=3 )
- 4楼网友:撞了怀
- 2021-02-10 19:24
数据库中sql语句查询没学全王老师所讲课程的学生姓名:select sname as 学生姓名 from s where not exists ( select * from c,sc where c.cno=sc.cno and cname='王老师' and sc.sno=s.sno );
sql即结构化查询语言(structured query language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
sql语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的,sql查询语句就是一个典型的例子,无论是高级查询还是低级查询,sql查询语句的需求是最频繁的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯