注册 登录
编程论坛 SQL Server论坛

有关自身连接的一道题,谁帮忙解决一下

张汉卿 发布于 2010-04-15 19:54, 852 次点击
S  (学号  姓名 出生日期  系  电话 性别 )  SC  (学号 课程号 成绩 )C  (课程号 课程名 教师 ) 三个数据表  
查询英语成绩比数学成绩好的学生(自身连接)
2 回复
#2
aei1352010-04-16 09:21
SELECT S.* FROM S WHERE S.学号 IN
(SELECT SC.学号 FROM SC INNER JOIN SC1 ON SC.学号=SC1.学号 AND SC.成绩>SC1.成绩
AND SC.课程号=(SELECT 课程号 FROM C WHERE 课程名='英语') AND SC1.课程号=(SELECT 课程号 FROM C WHERE 课程名='数学'))
#3
cnfarer2010-04-17 20:34
SELECT S.* FROM S WHERE 学号 IN (SELECT SC.学号 FROM SC INNER JOIN (select * from sc where 课程号=(SELECT 课程号 FROM C WHERE 课程名='数学')) SC1 ON SC.学号=SC1.学号 AND SC.成绩>SC1.成绩
AND SC.课程号=(SELECT 课程号 FROM C WHERE 课程名='英语') )
1