数据库查询语句求助!~~

学生表(xs)列名有(学号、姓名、性别、专业名等)
课程表(kc)列名有(课程号、课程名等)
成绩表(xs_kc)列名有(学号、课程号、成绩)
1、查询同时选修了课程号为101、102的学生学号。
2、查询选修课程包含“程明”同学所选课程之一的学生学号

SELECT 学号
FROM xs_kc
WHERE 课程号 IN (101, 102)
GROUP BY 学号
HAVING COUNT(课程号) = 2

2、查询选修课程包含“程明”同学所选课程之一的学生学号

SELECT DISTINCT 学号
FROM xs_kc
WHERE 课程号 IN (select 课程号 FROM xs_kc, xs WHERE xs.学号 = xs_kc.学号 AND xs.姓名 = '程明')
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-22
1、select 学号 from xs join xs_kc on xs.学号= xs_kc.学号 where 课程号=102 and 学号 in (select 学号 from xs join xs_kc on xs.学号= xs_kc.学号 where 课程号=101)
2 select distinct 学号 from xs_kc where xs_kc.课程号 in (select 课程号 from xs_kc where 学号=(select 学号 from xs where 姓名='程明'))
第2个回答  2011-04-22
1、查询同时选修了课程号为101、102的学生学号。
select 学号 from xs_kc where 课程号 in(101,102)

2、查询选修课程包含“程明”同学所选课程之一的学生学号
select 学号 from xs join 成绩表 on xs.学号=成绩.学号 JOIN 课程表 on 课程表.课程号=成绩表.课程号 where 姓名 like '%程明%'
相似回答