SQL查询没有同时选修1号课程和2号课程学生的学号
选课信息表(sc)字段名称字段类型及长度说明备注SnoChar(9)学生学号主关键字CnoChar(4)课程编号主关键字GradeInt成绩可为空...
选课信息表(sc)
字段名称 字段类型及长度 说明 备注
Sno Char(9) 学生学号 主关键字
Cno Char(4) 课程编号 主关键字
Grade Int 成绩 可为空 展开
字段名称 字段类型及长度 说明 备注
Sno Char(9) 学生学号 主关键字
Cno Char(4) 课程编号 主关键字
Grade Int 成绩 可为空 展开
4个回答
展开全部
SELECT DISTINCT Sno
FROM SC
WHERE Sno NOT IN
(SELECT Sno
FROM SC
WHERE Cno='1' AND Sno IN
(SELECT Sno
FROM SC
WHERE Cno='5'))
这是一般的变法,还可用集合查询,关键字INTERSECT
SELECT DISTINCT Sno
FROM SC
WHERE Sno NOT IN
(SELECT Sno
FROM SC
WHERE Cno='1'
INTERSECT
SELECT Sno
FROM SC
WHERE Cno='5')
FROM SC
WHERE Sno NOT IN
(SELECT Sno
FROM SC
WHERE Cno='1' AND Sno IN
(SELECT Sno
FROM SC
WHERE Cno='5'))
这是一般的变法,还可用集合查询,关键字INTERSECT
SELECT DISTINCT Sno
FROM SC
WHERE Sno NOT IN
(SELECT Sno
FROM SC
WHERE Cno='1'
INTERSECT
SELECT Sno
FROM SC
WHERE Cno='5')
2010-11-02
展开全部
select s.学号
from student s,course c,SC sc
where s.学号=sc.学号 and c.课程号=sc.课程号 and
c.课程号='1'
union
select s.学号
from student s,course c,SC sc
where s.学号=sc.学号 and c.课程号=sc.课程号 and
c.课程号='2'
from student s,course c,SC sc
where s.学号=sc.学号 and c.课程号=sc.课程号 and
c.课程号='1'
union
select s.学号
from student s,course c,SC sc
where s.学号=sc.学号 and c.课程号=sc.课程号 and
c.课程号='2'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select distinct sc.Sno where sc.Cno !='课程1'and sc.Cno !='课程2'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Select Sno where [sc] Cno='选修1号' and Cno='选修2号' order by Sno
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询