数据库连接查询嵌套查询实验报告

上传人:橙** 文档编号:333352875 上传时间:2022-09-01 格式:PDF 页数:4 大小:79.36KB
返回 下载 相关 举报
数据库连接查询嵌套查询实验报告_第1页
第1页 / 共4页
数据库连接查询嵌套查询实验报告_第2页
第2页 / 共4页
数据库连接查询嵌套查询实验报告_第3页
第3页 / 共4页
数据库连接查询嵌套查询实验报告_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《数据库连接查询嵌套查询实验报告》由会员分享,可在线阅读,更多相关《数据库连接查询嵌套查询实验报告(4页珍藏版)》请在金锄头文库上搜索。

1、注:交作业使用,请修改名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 4 页 -一、实验目的:熟悉连接查询,嵌套查询等的应用。二、实验内容:完成老师 word 文档中的题目。三、实验步骤在上机操作之前,首先要熟悉课本内容和例子。17、查询所有学生的 Sname、Cname 和Grade列。(连接查询)select student.sname,ame,sc.grade from student,course,sc where student.sno=sc.sno and o=o 此题因为需要查询的三个信息在不同的表里,所以要找到三个表所具有的共同列,经观察发现 student.sn

2、o=sc.sno 和o=o 18、查询所有选修“计算机导论”课程的同学的成绩。(连接查询,嵌套查询)select grade from sc where cno=(select cno from course where cname=计算机导论)select grade from sc,course where o=o and ame=计算机导论 首先是嵌套查询,在子查询中首先在course 表中找到计算机导论的课程号,然后在 sc表中找到该学号的成绩,第二种方法是连接查询,同样,连接查询是要找到表中相同的列,但是此题中还要多一个条件,因为我们只想知道计算机导论的成绩。19、查询和“李军”同性

3、别的同学Sname.(自身连接查询,嵌套查询)select x.sname from student x,student y where x.ssex=y.ssex and y.sname=李军 select sname from student where ssex=(select ssex from student where sname=李军)其实自身连接和普通的连接没有什么区别,只是在自身连接后把一个表取两个不同的名字,然后后面的就跟普通的连接查询一样了,不过需要注意的是因为两个不同的名字表其实是一个表,所以列的前面要加上表的名字,而且不要弄乱了。嵌套查询思路比较清晰首先找到李军的性别

4、,然后再找和这个性别相同的姓名名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 4 页 -20、查询所有同学的基本情况和选课情况,包括未选课的同学。(外连接查询)select student.sno,sname,ssex,sage,sdept,cno,grade from student left outer join sc on(student.sno=sc.sno)因为student表和sc表中都有 sname 列,我们在这里只要一列,所以在选择时只用student。Sno,然后选择做外连接,那么未选课的同学也会显示出来21、查询选修 13号课程且成绩高于 80分的同学的名字。

5、(连接查询,嵌套查询,集合查询)select sname from student,sc where student.sno=sc.sno and o=13 and sc.grade80 select sname from student where sno in(select sno from sc where o=13 and sc.grade80)首 先,我 们 还 是 在 连 接 查 询 中 还 是 要 找 到 两 个 表 中 相 同 的 列,即student.sno=sc.sno,然后根据题目要求还要加两个条件,因为我们要查询13号课程的成绩,所以要o=13,而且这个人的成绩要大于8

6、0,所以还要添加sc.grade80。嵌套查询先选出课程号为 13且成绩为 80以上的学号,然后在 student表中找到这个学号的姓名。22、查询和学号为 0608002的同学同年出生的所有学生的Sno、Sname 列。(自身连接查询,嵌套查询)select sno,sname from student where sage=(select sage from student where sno=0608002)select x.sno,x.sname from student x,student y where x.sage=y.sage and y.sno=0608002 虽然我们表中没

7、有出生年月这一列,但我们可以通过相同年龄进行查找,这样的话,其实跟 19题就一样了,只不过还是要提醒在自身连接查询的时候一定要注意列前面的表名。23、查询王位同学所有的成绩。(连接查询,嵌套查询)select cno,grade from sc where sno=(select sno from student where sname=王雷)select cno,grade from student,sc where student.sno=sc.sno and student.sname=王雷 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 4 页 -这道题跟前面都是大径相同

8、,我感觉没有可说的一些细节了,在前面题目完成后,这道题就很轻松的做出来了。24、查询非计算机系的不超过计算机系所有学生的年龄的学生姓名。(用ANY,ALL)select sname from student where sageany(select sage from student where sdept=计算机系)and sdept 计算机系 首先从括号里的子查询中说起,在子查询中选出计算机系的学生的年龄,然后在student表中找姓名,找什么姓名呢?我们用到了any,课本上介绍 any就是集合中的任何一个,就是要找到一个年龄比任意计算机系学生年龄都小,并且这个人的系不能是计算机系(sde

9、pt计算机系)25、查询存在有 85分以上成绩的课程 Cno.(用exists)select distinct cno from sc where sc.grade85 因为exists方法还没有学,所以用前面简单的方法做出来,distinct就是去掉重复的学号四、试验总结首先通过这次试验,熟悉了连接查询(等值与非等值连接,自身连接,外连接),嵌套查询(带有 in 的子查询,带有比较运算符的子查询,带有any 或 all的子查询),还可以根据子查询分为相关子查询和不相关子查询。这对于我以后的学习是基础,是经验,更是必须要走的路,还是上一次说过的一句话,路漫漫其修远兮,吾将上下而探索。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 4 页 -

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

当前位置:首页 > 中学教育 > 初中教育

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