关系代数及其实例练习教程

上传人:我** 文档编号:117858200 上传时间:2019-12-11 格式:PPT 页数:21 大小:309.50KB
返回 下载 相关 举报
关系代数及其实例练习教程_第1页
第1页 / 共21页
关系代数及其实例练习教程_第2页
第2页 / 共21页
关系代数及其实例练习教程_第3页
第3页 / 共21页
关系代数及其实例练习教程_第4页
第4页 / 共21页
关系代数及其实例练习教程_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《关系代数及其实例练习教程》由会员分享,可在线阅读,更多相关《关系代数及其实例练习教程(21页珍藏版)》请在金锄头文库上搜索。

1、关系代数查询实例练习 有如下三个关系表,请完成相应操作。 S:学生 SNOSNAMEAGESEX 1李强23男 2刘丽22女 5张友22男 CNO(课 号) CNAME(课名 ) TEACHER(教 师) k1C语言王华 k5数据库原理程军 k8编译原理程军 SNOCNOGRADE 1K183 2K185 5K192 2K590 5K584 5K880 SC:学生选课成绩表 S:学生信息表 C:课程信息表 (1) 检索“程军”老师所授课程的课程号CNO和课程名CNAME。 (2)检索年龄大于21的男学生学号SNO和姓名SNAME。 (3)检索至少选修“程军”老师所授全部课程的学生姓名SNAME

2、。 (4)检索“李强”同学不学课程的课程号。 (5)检索至少选修两门课程的学生学号。 (6)检索全部学生都选修的课程的课程号和课程名。 (7)检索选修课程包含“程军”老师所授课程之一的学生学号。 (8)检索选修课程号为k1和k5的学生学号。 (10)检索选修课程包含学号为2的学生所修课程的学生学号。 (9)检索选修全部课程的学生姓名; (11)检索选修课程名为“C语言”的学生学号和姓名。 SQL查询实例练习 (1) 检索“程军”老师所授课程的课程号CNO和课程名CNAME。 SELECT CNO,CNAME FROM C WHERE TEACHER=程军; (2)检索年龄大于21的男学生学号S

3、NO和姓名SNAME。 SELECT SNO,SNAME FROM S WHERE AGE21 AND SEX=男; (3)检索至少选修“程军”老师所授全部课程的学生姓名SNAME。 SELECT SNAME FROM S WHERE NOT EXISTS (SELECT * FROM C WHERE TEACHER=程军 AND NOT EXISTS (SELECT * FROM SC WHERE SC.SNO=S.SNO AND SC.CNO=C.CNO); (4)检索“李强”同学不学课程的课程号。 SELECT CNO FROM C WHERE CNO NOT IN (SELECT CN

4、O FROM SC,S WHERE SC.SNO=S.SNO AND S.SNAME=李强) ; SELECT CNO FROM C EXCEPT SELECT CNO FROM SC,S WHERE SC.SNO=S.SNO AND S.SNAME=李强 ; 或 (5)检索至少选修两门课程的学生学号。 SELECT SNO FROM SC A, SC B WHERE A.SNO=B.SNO AND A.CNOB.CNO; (6)检索全部学生都选修的课程的课程号和课程名。 SELECT CNO,CNAME FROM C WHERE NOT EXISTS (SELECT * FROM S WHE

5、RE NOT EXISTS (SELECT * FROM SC WHERE SC.CNO=C.CNO AND SC.SNO=S.SNO); (7)检索选修课程包含“程军”老师所授课程之一的学生学号。 SELECT SNO FROM C,SC WHERE C.CNO=SC.CNO AND C.TEACHER=程军 ; (8)检索选修课程号为k1和k5的学生学号。 SELECT SNO FROM SC WHERE SC.CNO=k1 INTERSECT SELECT SNO FROM SC WHERE SC.CNO=k5; 或: SELECT SNO FROM SC A, SC B WHERE A

6、.SNO=B.SNO AND A.CNO=k1 AND B.CNO=k5 ; (9)检索选修全部课程的学生姓名; SELECT SNAME FROM S WHERE NOT EXISTS (SELECT * FROM C WHERE NOT EXISTS (SELECT * FROM SC WHERE SC.SNO=S.SNO AND SC.CNO=C.CNO); SELECT SNO FROM S WHERE NOT EXISTS (SELECT * FROM SC A WHERE SC.SNO=2 AND NOT EXISTS (SELECT * FROM SC B B.SNO=S.SNO

7、 AND B.CNO=A.CNO); (10)检索选修课程包含学号为2的学生所修课程的学生学号。 (11) SELECT SNO,SNAME FROM S,SC,C WHERE S.SNO=SC.SNO AND C.CNO=SC.CNO AND CNAME=C语言 ; (11)检索选修课程名为“C语言”的学生学号和姓名。 SQL练习二 NONAMESEXBIRTHDAYCLASS 108曾华男09/01/7795033 105匡明男10/02/7595031 107王丽女01/23/7695033 101李军男02/20/7695033 109王芳女02/10/7595031 103陆君男06

8、/03/7495031 NONAMESEXBIRTHDAYPROFDEPART 804李诚男12/02/58副教授计算机系 856张旭男03/12/69讲师电子工程系 825王萍女05/05/72助教计算机系 831刘冰女08/15/77助教电子工程系 Student:学生信息表 Teacher:教师信息表 CNOCNAMETNO 3-105计算机导论825 3-245操作系统804 6-166数据字电路856 9-888高等数据学100 6-187数据库系统804 NOCNODEGRE E 1033-24586 1053-24575 1093-24568 1033-10592 1053-10

9、588 1093-10576 1013-10564 1073-10591 1083-10578 1016-16685 1076-16679 1086-16681 Course:课程信息表 Score:成绩信息表 (1)、在屏幕上列出student表中所有记录的name,sex和class列; (2)、屏幕显示教师所有的单位(即不重复的depart列); (3)、屏幕显示score表中成绩在60到80分之间的所有记录; (4)、在屏幕上显示student中”950311”班或性别为”女”的同学记录; (5)、以class降序在屏幕上显示student表的所有记录; (6)、在屏幕上显示 “950

10、31”班的学生人数; (7)、显示所有学生的name,cno和degree列; (8)、显示所有学生的name, cname 和degree列; (9)、列出所有未讲课的教师的name和depart; (10)、删除student中学号为”999”的学生记录; (11)、将student中学号为”990”的学生的班号改为“95031”; 用SQL完成以下操作: (1)select name,sex,class from student; (2) select distinct depart from teacher; (3) select * from score where degree b

11、etween 60 and 80; (4) select * from student where class=95031 or sex=女; (5) select * from student order by class desc; (6) select count(*) as 学生人数 from student where class=95031 (7) select name,cno,degree from student,course,score where student.no=score.no (8) select name,cname,degree from student,course,score where student.no=score.no and o=o (9) select name,depart from teacher where no not in (select distinct tno from course) (10) delete from student where no=999 (11)update student set class=95031 where no=990

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号