实验5 数据库的嵌套查询实验(共五篇)

时间:2019-05-12 07:53:47下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《实验5 数据库的嵌套查询实验》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《实验5 数据库的嵌套查询实验》。

第一篇:实验5 数据库的嵌套查询实验

实验五

数据库的嵌套查询实验

1、实验目的

本实验的目的是使学生进一步掌握SQL Server查询分析器的使用方法,加深SQL语言的嵌套查询语句的理解

2、实验时数

2学时

3、实验内容

本实验的主要内容是:在SQL Server查询分析器中使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。

具体完成以下例题。将它们用SQL语句表示,在学生数据库中实现其数据嵌套查询操作。

1、查询选修了高等数学的学生学号和姓名 select Sno,Sname from Student where Sno in(select Sno from SC,Course where SC.Cno=Course.Cno and Cname='数学')

2、查询1号课程的成绩高于刘晨的1号课程成绩的学生学号和成绩 select SC.Sno,Grade from SC,Student where Cno='1' and SC.Sno=Student.Sno and Grade>all(select Grade from SC,Student where SC.Sno=Student.Sno and Sname='刘晨')

3、查询其他系中比cs系某一学生年龄小的学生(即年龄小于计算机系年龄最大者的学生)select * from Student where Sdept!='cs' and Sage

4、查询其他系中比cs系所有学生年龄都小的学生 select * from Student where Sdept!='cs' and Sage

5、查询选修了2号课程的学生姓名 select Sname from Student where Sno in(select Student.Sno from SC,Student where SC.Sno=Student.Sno and Cno='2')

6、查询没有选修2号课程的学生姓名 elect Sname from Student where exists(select SC.Sno from SC,Student where Cno!='2' group by SC.Sno)

7、查询选修了全部课程的学生姓名 Select * from SC where Cno=all(select Cno from Course)

8、求至少选修了学号为“00215122”的学生所选修全部课程的学生学号和姓名 select Sno,Sname from Student where Sno in(select Student.Sno from Student,SC where Student.Sno=SC.Sno and Cno=any(select Cno from SC where Sno='00215122'))

4、实验方法

将查询需求用SQL语言表示:在SQL Server查询分析器的输入区中输入SQL查询语句:设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。

5、实验心得体会

本次实验还是进行查询操作,只是在第四次试验的基础上加入了嵌套,嵌套查询是在我们以后进行软件开发涉及数据库常用的查询操作,通过实验有助于我们对嵌套查询的理解,对我们熟练的使用SQL查询语句进行查询操作有很大帮助。

第二篇:3数据库查询实验

实验三 数据库查询实验

(3)数据库的组合查询和统计查询实验

课时安排:2课时

一、实验目的和要求

使学生熟练掌握SQL Server查询分析器的使用方法.加深对SQL和Transact-SQL语言的查询语句的理解。熟练掌握数据查询中的分组、统计、计算和组合的操作方法。

二、实验内容 分组查询实验该实验包括分组条件表达、选择组条件的表达方法。使用函数查询的实验。该实验包括统计函数和分组统计函数的使用方法。

组合查询实验。计算和分组计算查询的实验。

三、实验方法

将查询需求用 Transact-SQL语言表示;在 SQL Server查询分析器的输入区中输入Transact-SQL查询语句:设置查询分析器的结果区为Standard Execute(标准执行)或Executeto Grid(网格执行)方式.发布执行命令 并在结果区中查看查询结果;如果结果不正确要进行修改.直到正确为止。

四、实验步骤

基本操作实验

在图书借阅库中实现其查询操作。

(1)查找这样的图书类别:要求类别中最高的图书定价不低于全部按类别分组的图书平均定价的2倍。

(2)求机械工业出版社出版的各类图书的平均定价,用GROUPBY表示。

(3)列出计算机类图书的书号、名称及价格.最后求出册数和总价格。

(4)列出计算机类图书的书号、名称及价格 并求出各出版社这类书的总价格.最后求出全部册数和总价格。

(5)查询计算机类和机械工业出版社出版的图书。

提高操作实验

将自设计的数据库应用项目中的分组、统计、计算和组合查询用Transact-SQL语句表示.并通过SQL Server 查询分析器实现其查询操作。

五、实验报告要求 分别用SQL和Transact-SQLL写出实验操作的查询语句 对两种语言进行比较。

实验步骤和实验结果。实验中的问题和提高。

六、注意事项 子句WHERE<条件>表示元组筛选条件,子句HAVING <条件>表示组选择条件。组合查询的子句间不能有语句结束符。子句HAVING<条件>必须和GROUP BY <分组字段>子句配合使用。

七、思考题 组合查询语句是否可以用其他语句代替,有什么不同? 使用 GROUP BY <分组条件>子句后,语句中的统计函数的运行结果有什么不同?

第三篇:年整理数据库嵌套查询实验报告

实验三:数据库的嵌套查询实验

实验目的 :

加深对嵌套查询语句的理解。

实验内容:

使用 IN、比较符、ANY 或 ALL 和 EXISTS 操作符进行嵌套查询操作。

实验步骤:

一.使用带 N IN 谓词的子查询

1.查询与’刘晨’在同一个系学习的学生的信息: 比较 select * from student where sdept in

(select sdept from student where sname=“刘晨”)与: select * from student where sdept =

(select sdept from student where sname=“刘晨”)的异同

比较: select * from student where sdept =

(select sdept from student where sname=“刘晨”)and sname <> ‘刘晨’ 与: select S1.* from student S1, student S2 where S1.sdept=S2.sdept and S2.sname=“刘晨”的异同

2.查询选修了课程名为’信息系统’ 的学生的学号和姓名: 比较 select sno, sname from student where sno in(select sno from sc where cno in

(select cno from course where cname=“信息系统”))与: select sno, sname from student where sno in

(select sno from sc, course where sc.cno=course.cno and cname=“信息系统”)

3.查询选修了课程’1’和课程’2’的学生的学号: select sno from student where sno in(select sno from sc where cno=“1”)and sno in(select sno from sc where cno=“2”)

比较: 查询选修了课程’1’或课程’2’的学生的 sno: select sno from sc where cno=“1” or cno=“2”

比较连接查询:

select A.sno from sc A, sc B where A.sno=B.sno and A.cno=“1” and B.cno=“2”

二.使用带比较运算的子查询 4.查询比’刘晨’年龄小的所有学生的信息: select * from student where sage<

(select sage from student where sname=“刘晨”)

三.使用带 Any, All 谓词的子查询 5.查询其他系中比信息系(IS)某一学生年龄小的学生姓名和年龄;select sname, sage from student where sage

(select sage from student where sdept=“IS”)and sdept<>“IS”

6.查询其他系中比信息系(IS)学生年龄都小的学生姓名和年龄: select sname, sage from student where sage “IS”

7.查询与计算机系(CS)系所有学生的年龄均不同的学生学号, 姓名和年龄: select sno,sname,sage from student where sage<>all(select sage from student where sdept=“CS”)

四.使用带 s Exists 谓词的子查询和相关子查询

8.查询与其他所有学生年龄均不同的学生学号, 姓名和年龄: select sno,sname,sage from student A where not exists(select * from student B where A.sage=B.sage and A.sno<>B.sno)

9.查询所有选修了 1 号课程的学生姓名: select sname from student where exists(select * from sc where sno=student.sno and cno=“1”)

10.查询没有选修了 1 号课程的学生姓名: select sname from student where not exists(select * from sc where sno=student.sno and cno=“1”)

11.查询选修了全部课程的学生姓名: SQL Server 中:

select sname from student where not exists(select * from course where not exists(select * from sc where sno=student.sno and cno=course.cno))

11.查询至少选修了学生 95002 选修的全部课程的学生的学号: SQL Server 中: select distinct sno from sc A where not exists

(select * from sc B where sno=“95002”and not exists(select * from sc C where sno=A.sno and cno=B.cno))

12.求没有人选修的课程号 cno 和 cnamecname: select cno,cname from course C where not exists(select * from sc where sc.cno=C.cno)

13*.查询满足条件的(sno,cno)对, 其中该学号的学生没有选修该课程号 cno的课程 SQL Server 中: select sno,cno from student,course where not exists(select * from sc where cno=course.cno and sno=student.sno)

14*.查询每个学生的课程成绩最高的成绩信息(sno,cno,grade): select * from sc A where grade=(select max(grade)from sc where sno=A.sno)

思考: 如何查询所有学生都选修了的课程的课程号 cno? select cno

from sc

group by cno

having count(*)=(select count(*)from student)

第四篇:数据库实验5报告

广东工业大学实验报告

自动化学院 学院

网络工程 专业 班

学号 3111001381 姓名

何宇航

成绩评定_______ 教师签名 黄永慧 实验

题目

数据查询和连接查询

课程名称

数据库原理及应用实验

一.实验目的

使学生熟练掌握简单表的数据查询、数据连接查询以及数据排序的操作方法,并加深对Transact-SQL语言的查询语句的理解。

二.实验软件环境

SQL Server 2000 三.实验内容

(一)实验要求:

使用SQL Server 2000查询分析器,并用SELECT语句及WHERE查询条件进行简单查询及连接查询实验,其次使用ORDER BY排序子句实现输出结果的排序。主要内容包括:

1)简单查询操作 包括投影、选择条件、数据排序等。

2)连接查询操作 包括等值连接、自然连接、外连接、内连接、左连接和右连接等。(二)要求完成以下查询要求:

1)将计算机类的书存入永久计算机图书表。

2)将借书日期在05年以前的借阅记录存入临时超期借阅表。3)查询发生了借阅关系的借书证号,并按借书证号降序排列。4)查询“清华大学出版社”出版的图书情况。

5)查询目前被借出去的书籍的书号、借书证号以及借出日期,并按借出日期排序。6)查询“程军”老师所借阅的书籍的书名。

7)查询借书者的编号、姓名、单位、所借书号、书名和借阅日期,并按读者编号排序。

四.实验的结果及分析

1)将计算机类的书存入永久计算机图书表 CREATE TABLE Computer_Book(bno

char(8)NOT NULL PRIMARY KEY,category

varchar(10),title

varchar(40)NOT NULL,press

varchar(30)NOT NULL,book_year

Int NOT NULL,author

varchar(20),price

decimal(7,2)NOT NULL,book_total Int NOT NULL)

INSERT INTO Computer_Book SELECT *FROM Book WHERE category='计算机'

广东工业大学实验报告

自动化学院 学院

网络工程 专业 班

学号 3111001381 姓名

何宇航

成绩评定_______ 教师签名 黄永慧 实验

题目

数据查询和连接查询

课程名称

数据库原理及应用实验

2)将借书日期在05年以前的借阅记录存入临时超期借阅表。CREATE TABLE Overdue_Borrow(cno

char(7)NOT NULL FOREIGN KEY(CNO)REFERENCES Card(cno),bno

char(8)NOT NULL FOREIGN KEY(BNO)REFERENCES Book(bno),borrow_date smalldaetime NOT NULL DEFAULT GETDATE(),CONSTRAINT CBB_PRIM PRIMARY KEY(cno,bno,borrow_date))INSERTINTO Overdue_Borrow SELECT *Borrow WHERE YEAR(borrow_date)<2005

3)查询发生了借阅关系的借书证号,并按借书证号降序排列。SELECT DISTINCT cno FROM Borrow ORDER BY cno DESC 4)查询“清华大学出版社”出版的图书情况。SELECT *FROM Book WHERE press='清华大学出版社'

5)查询目前被借出去的书籍的书号、借书证号以及借出日期,并按借出日期排序。SELECT bno,cno,borrow_date FROM Borrow WHERE return_date IS NULL ORDER BY borrow_date

6)查询“程军”老师所借阅的书籍的书名。SELECT title FROM Book,Card,Borrow WHERE(Card.cno=Borrow.cno)and(Borrow.bno=Book.bno)and(name='程军')

7)查询借书者的编号、姓名、单位、所借书号、书名和借阅日期,并按读者编号排序。SELECT Borrow.cno,name,department,Borrow.bno,title,borrow_date FROM Borrow,Card,Book WHERE(Card.cno=Borrow.cno)and(Borrow.bno=Book.bno)ORDER Borrow.cno

五.实验心得体会

通过本实验基本学会如何进行简单表的数据查询、数据联接查询以及数据排序,并加深对SQL和Transact-SQL语言的查询语句的理解,这比光看书跟容易理解,能够跟好的掌握书本上的知识。

第五篇:数据库实验

实验1.1 使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理数据库 实验内容:

(1)使用SSMS(SQL Server Management Studio)加入实验数据库。(2)使用SSMS可视化建立、修改和删除数据库、表。(3)使用SSMS对数据库进行备份和恢复。

(4)使用SSMS对表进行查询、插入、修改、删除。实验步骤:

(1)加入School数据库。(2)建立Test数据库。

(3)在数据库中建立人员表PERSON(P#,Pname,Page)。更改表设置P#为主键,增加属性Ptype(类型是CHAR,长度是10)。

(4)用SSMS的查询功能(新建查询)对PERSON表进行查询、插入、修改、删除等操作:首先插入两条记录;修改第二条记录;删除第二条记录。(5)备份Test数据库。(6)删除表PERSON。(7)恢复Test数据库。(8)删除Test数据库。

下载实验5 数据库的嵌套查询实验(共五篇)word格式文档
下载实验5 数据库的嵌套查询实验(共五篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    数据库实验

    3.实验步骤 在学生选课数据库中实现其查询操作,写出T-SQL语句(注:学生选课数据库为前三次实验课所建立的数 据库) 一、简单查询实验 (1)查询选修了课程的学生学号。 (2)查询选修课程......

    数据库实验(查询的综合练习)[大全5篇]

    实验六 综合练习一、实验目的 熟练掌握SQL语句的使用 二、实验内容 1. 查询成绩在80~90之间的记录 2. 查询至少有2个同学选修的课程名 3. 查询其他系中比“信息系”所有学......

    数据库实验答案范文大全

    实验四 五、实验方法和步骤: 1.向数据库的USERS表空间添加一个大小为10M的数据文件userdata02.dbf。 Alter tablespace users add datafile ‘c:oracleoradataorcluserda......

    Access数据库实验

    实验一 ACCESS之表的操作 一、实验目的 1、熟悉Access用户操作界面。 2、掌握创建表的方法。 3、掌握创建主键和索引的方法。 4、掌握表结构的编辑和表中数据的操作方法。 5......

    数据库实验心得

    我在sql server 索引基础知识系列中,第一篇就讲了记录数据的基本格式。那里主要讲解的是,数据库的最小读存单元:数据页。一个数据页是8k大小。对于数据库来说,它不会每次有一个......

    数据库实验心得体会

    数据库实验心得体会 有关于数据库实验的心得体会,总的来说,受益匪浅。在这些天中,我们学到了很多东西,包括建表,导入数据,查询,插入。最重要的是我们有机会用电脑自己进行实践,没接......

    数据库实验总结

    实验总结 在上一个星期,我们用数据库做了一个学生管理系统,分别实现了学生管理系统的添加学生信息、删除学生信息、修改学生信息退出等几大功能。 在这次项目中,我们都很用心去......

    数据库实验一五篇范文

    实验一:认识DBMS 系统 1、实验目的 (1)通过对SQL Server 2005/2008 数据库管理系统的使用,了解DBMS 的工作原理和系统 构架。 (2)熟悉SQL Server 提供的管理工具 (3)熟悉使用SQL Ser......