sqlserver查询问题.给出表根据题目写出查询

来源:百度知道 编辑:UC知道 时间:2024/05/24 03:16:12
有3个表:1学生(学号,姓名,年龄,性别) 2课程(课程号,课程名,任课教师) 3成绩(学号,课程号,成绩)问题:1,查询至少选修了2门课程的学生学号.2,查询王文芳同学不学的课程的课程号.

1.select T.学号 from (select 学号,count(*) from 成绩表 group by 学号 having count(*)>=2) T

2.select 课程号 from 课程表 where 课程号 not in(select 课程号 from 成绩表 left join 学生表 on 学生表.学号=成绩表.学号 where 学生表.姓名='王文芳')

1.
select 学号, count(课程号) as 选修数
from 成绩
group by 学号
where 选修数>1

2.
select * from 课程 where 课程号 not in
(
select 课程号 from 成绩
where 学号 in(select 学号 from 学生where 姓名='王文芳')
)

搞定

1. select 学生.学号 as 至少选修2门课程学生学号 from 学生 group by 学生.学号 where 学生.学号=(select 学号 form 成绩 where 学生.学号=成绩.学号)

2.select 课程.课程号 as 王文芳同学不学的课程的课程号 from 课程 where 课程.课程号 not in
(
select 成绩.课程号 from 成绩
where 成绩.学号 in(select 学生.学号 from 学生 where 姓名='王文芳')
)

①sele 学号 from 成绩 group by 学号 havi count(课程号)>=2
②sele distinct(课程号) from 成绩 wher 学号 .not. in;
(sele 学号 from 学生 wher 姓名="王文芳")

查询至少选修了2门课程的学生学号.
select 学生.学号 ,count(学号)
from 学生 joi