数据库 实验二 数据库的简单查询和连接查询实验

– 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;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值