数据库实验5实验报告

更新时间:2024-05-31 11:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数据库原理与设计》实验报告

年级、专业、班级 实验题目 实验时间 实验成绩 实验地点 实验性质 姓名 √验证性 □设计性 □综合性 教师评价: □算法/实验过程正确; □源程序/实验内容提交 □程序结构/实验步骤合理; □实验结果正确; □语法、语义正确; □报告规范; 其他: 评价教师签名: 一、实验目的 [1] [2] [3] [4] 掌握在SQL查询生成器中用SELECT语句进行简单查询; 掌握在SQL查询生成器中用SELECT语句进行集合查询; 掌握在SQL查询生成器中用SELECT语句进行连接查询; 掌握在SQL查询生成器中用SELECT语句进行嵌套查询。 二、实验项目内容 针对数据库Library实现下列查询语句: 1. 查询全体读者的姓名(Rname)、出生年份。 2. 查询所有年龄在18~20岁(包括18岁和20岁)之间的读者姓名(Rname)及年龄(Rage)。 3. 查询学历为研究生、本科的读者的编号(Rno)、姓名(Rname)和性别(Rsex)。 4. 查询所有姓林的且全名为2个汉字的读者的姓名(Rname)、性别(Rsex)和年龄(Rage)。 5. 查询尚未归还的借书纪录。 6. 查询读者总人数。 7. 计算学历为研究生的读者的平均年龄。 8. 查询所有的借阅记录,按照读者编号(Rno)升序排列,读者编号相同的,按照借阅时间(BorrowDate)降序排列。 9. 查询借书次数大于一次的读者编号。 10. 查询读者的借书情况,要求列出读者姓名,图书标题,借书日期。 11. 查询所有读者的基本情况和结束情况,没有借书的读者也输出基本信息。 报告创建时间:

12. 查询所有借了编号为B02的图书的读者编号(Rno)和读者姓名(Rname)。 13. 查询比编号为B01的图书的价格低的图书的编号(Bno)、书名(Btitle)和价格(Bprice)。 14. 查询至少借阅了读者R01借阅的全部书籍的读者编号(Rno)和读者姓名(Rname)。 15. 查询数据库类图书和价格低于50元的图书的信息。 三、实验过程或算法(源程序) 针对数据库Library实现下列查询语句: 1. 查询全体读者的姓名(Rname)、出生年份。

2. 查询所有年龄在18~20岁(包括18岁和20岁)之间的读者姓名(Rname)及年龄(Rage)。 3. 查询学历为研究生、本科的读者的编号(Rno)、姓名(Rname)和性别(Rsex)。

4. 查询所有姓林的且全名为2个汉字的读者的姓名(Rname)、性别(Rsex)和年龄(Rage)。 5. 查询尚未归还的借书纪录。

6. 查询读者总人数。 7. 计算学历为研究生的读者的平均年龄。

8. 查询所有的借阅记录,按照读者编号(Rno)升序排列,读者编号相同的,按照借阅时间(BorrowDate)降序排列。 9. 查询借书次数大于一次的读者编号。

10. 查询读者的借书情况,要求列出读者姓名,图书标题,借书日期。

11. 查询所有读者的基本情况和借书情况,没有借书的读者也输出基本信息。 12. 查询所有借了编号为B02的图书的读者编号(Rno)和读者姓名(Rname)。

13. 查询比编号为B01的图书的价格低的图书的编号(Bno)、书名(Btitle)和价格(Bprice)。 14. 查询至少借阅了读者R01借阅的全部书籍的读者编号(Rno)和读者姓名(Rname)。 15. 查询数据库类图书和价格低于50元的图书的信息。

四、实验结果及分析和(或)源程序调试过程 简单查询 use Library select distinct Rname,Rage from Reader2 条件查询 use Library select distinct Rname,Rage from Reader2 where Rage >= 18 and Rage <= 20 use Library select distinct Rno,Rname,Rsex from Reader2 where Reducation = '研究生' or Reducation = '本科' 模糊查询 use Library select distinct Rname,Rsex,Rage from Reader2 where Rname like '林_'

空值查询 use Library select * from Borrow2 where ReturnDate is null 统计个数 use Library select COUNT(distinct Rno) from Reader2 求平均数 use Library select avg(Rage) from Reader2 升降序 use Library select * from Borrow2 order by Rno asc, BorrowDate desc 条件查询2 use Library select Rno from Borrow2 group by Rno having COUNT(distinct Bno) >=2 连接查询 use Library select Reader2.Rname,Book2.Btitle,Borrow2.BorrowDate Borrow2,Book2,Reader2 where Reader2.Rno = Borrow2.Rno and Borrow2.Bno = Book2.Bno 连接查询2 use Library select distinct Reader2.*,Borrow2.BorrowDate from Borrow2,Reader2 where Reader2.Rno = Borrow2.Rno 连接查询3 use Library select Reader2.Rno,Reader2.Rname from Borrow2,Reader2 条件查询3 use Library

from select Bno,Btitle,Bprice from Book2 where Bprice < (select Bprice from Book2 where Bno = 1) where Reader2.Rno = Borrow2.Rno and Borrow2.Bno = 2 除法查询 use Library select Rno,Rname from Reader2 c where not exists (select Bno from Borrow2 y where y.Rno = 1 and not exists (select * from Borrow2 x where x.Bno = y.Bno and c.Rno = x.Rno )) 模糊查询 use Library select * from Book2 where Btitle like '%数据库%' or Bprice <= 50

本文来源:https://www.bwwdw.com/article/ev06.html

Top