两道sql题,求各位帮忙

ningv 2012-05-24 01:20:37
1.设有"学生Student(sID,sName)","课程Course(cID,cName)","选课StudentCourse(scID,sID,cID)" 这三个表。一个学生可以选修0..n门课,一门课也可以被0..n个学生选修。
1):请用一条SQL语句找出选修了所有课程的学生姓名。

2.在"信息表Info(infoID,infoTitle)"中,infoID是自增列,但Info表中的数据进行过删除,即infoID不是连续的。
1):请用一条SQL语句找出按infoID升序排列,现在排在第100~120位置的那20条数据
...全文
274 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
天-笑 2012-05-24
  • 打赏
  • 举报
回复

--1
select b.* from (
select sID
group by sID
having count(cID) = (select count(1) from Course)
) a inner join Student b on a.sID = b.sID
--2
;with t as (
select row_number() over (order by infoID) Row,infoID,infoTitle from Info
)
select * from t where Row>=100 and Row<120


22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧