– l)用Transact-SQL语句表示下列操作.在学生选课库中实现其数据查询操作.
– ①求数学系学生的学号和姓名。
select sno,sname from student where sdept='MA';
– ②求选修了课程的学生学号。
select distinct sno from sc;
– ③求选修C1课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
select sno,grade from sc
where cno='C1' order by grade desc,sno asc;
– ④获选修课程C1且成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。
select sno,grade*0.8 from sc
where cno='C1' and grade between 80 and 90;
–⑤求数学系或计算机系姓张的学生的信息。
select * from student where sdept in('MA','CS') and sname like '张%';
–(6)求缺少了成绩的学生的学号和课程号。
select sno,cno from sc where grade is null;
–① 查询每个学生的情况以及他(她)所选修的课程。
select s.*,sc.*,c.* from student s,sc,course c
where s.sno=sc.sno and c.cno=sc.cno;
–② 学生的学号、姓名、选修的课程名及成绩。
select s.sno,s.sname,c.cname,sc.grade from student s,sc,course c
where s.sno=sc.sno and c.cno=sc.cno;
–③ 选修C1课程且成绩为90分以上的学生学号、姓名及成绩。
select s.sno,s.sname,sc.grade from student s,sc
where s.sno=sc.sno and cno='C1' and grade>90;
–④ 查询每一门课的间接先行课(即先行课的先行课)。
select c1.cno,c2.cpno from course c1,course c2 where c1.cpno=c2.cno;