数据库 嫌氚题2(关系代数,SQL) .ppt
文本预览下载声明
* 关系代数及SQL查询实例练习 SNO SNAME AGE SEX 1 李强 23 男 2 刘丽 22 女 5 张友 22 男 CNO(课号) CNAME(课名) TEACHER(教师) k1 C语言 王华 k5 数据库原理 程军 k8 编译原理 程军 SNO CNO GRADE 1 K1 83 2 K1 85 5 K1 92 2 K5 90 5 K5 84 5 K8 80 ? SC:学生选课成绩表 S:学生信息表 C:课程信息表 (1) 检索“程军”老师所授课程的课程号CNO和课程名CNAME。 (2)检索年龄大于21的男学生学号SNO和姓名SNAME。 (3)检索至少选修“程军”老师所授全部课程的学生姓名SNAME。 (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的男学生学号SNO和姓名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 CNO 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 WHERE 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.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
显示全部