数据库实验二(2)

2019-04-22 13:52

10) 在查询分析器中完成以下嵌套查询语句

查询与“刘晨”在同一个系学习的学生(使用嵌套查询、自身连接、比较运算符分别完成)

1.嵌套查询

SELECT * FROM Student a WHERE Sdept IN(SELECT Sdept FROM Student b WHERE b.Sname='刘晨' );

2.自身连接

SELECT a.* FROM Student a,Student b WHERE b.Sname='刘晨' AND a.Sdept=b.Sdept ;

3.比较查询

SELECT * FROM Student a WHERE Sdept=(SELECT Sdept FROM Student b WHERE

b.Sname='刘晨' );

查询选修了课程名为“信息系统”的学生学号和姓名(使用嵌套查询、自然连接分别完成)

1.嵌套查询

SELECT Sno,Sname FROM Student WHERE Sno IN(SELECT Sno FROM SC WHERE Cno IN(SELECT Cno FROM Course WHERE Cname='信息系统' ) ) ;

2.自然连接

SELECT a.Sno,Sname FROM Student a,SC b ,Course c WHERE a.Sno=b.Sno AND b.Cno=c.Cno AND Cname='信息系统';

查询其他系中比信息系某一学生年龄小的学生姓名和年龄(使用ANY谓词、集函数分别完成)

1.ANY谓词

SELECT Sname,Sage FROM Student WHERE Sage'IS';

2.聚集函数

SELECT Sname,Sage FROM Student WHERE Sage<(SELECT MAX(Sage) FROM Student WHERE Sdept='IS' )AND Sdept<>'IS';

查询所有选修了1号课程的学生(使用比较运算符、IN、EXISTS分别完成) 1.比较运算符 2.IN

SELECT Sname FROM Student WHERE Sno IN(SELECT Sno FROM SC WHERE Cno='1' );

3.EXISTS

SELECT Sname FROM Student WHERE EXISTS(SELECT * FROM SC WHERE Sno=Student.Sno AND Cno='1' );

查询没有选修1号课程的学生的姓名

查询选修全部课程的学生姓名

SELECT Sname FROM Student WHERE NOT EXISTS(SELECT * FROM Course WHERE NOT EXISTS(SELECT * FROM SC WHERE Sno=Student.Sno AND Cno=Course.Cno) );

查询至少选修了学生95002选修的全部课程的学生号码

SELECT DISTINCT Sno FROM SC a WHERE NOT EXISTS(SELECT * FROM SC b WHERE b.Sno='95002' AND NOT EXISTS(SELECT * FROM SC c WHERE c.Sno=a.Sno AND c.Cno=b.Cno));

11) 在查询分析器中完成以下集合查询语句

查询计算机科学系的学生及年龄不大于19岁的学生并按学号排序(使用单表查询、集合查询分别完成)

单表查询:SELECT * FROM Student WHERE Sdept='CS' OR Sage<=19 ORDER BY Sno;

集合查询:

SELECT * FROM Student WHERE Sdept='CS' UNION SELECT * FROM Student WHERE Sage<=19 ORDER BY Sno;

查询计算机科学系的学生及年龄不大于19岁的学生的差集 SELECT * FROM Student WHERE Sdept='CS' AND Sage>19;

第二:可视化实现结果

1. 查询全体学生的姓名及其出生年份


数据库实验二(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中外建筑史资料2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: