数据库原理及应用实验报告3.2

时间:2024.4.21

实验三  查询

实验3.2 连接查询

一、             实验目的

使学生熟练掌握SQL Server查询分析器的使用方法,加深对SQL 和 Transact-SQL语言查询语句的理解。熟练掌握数据连接查询中的主要操作方法。

二、             实验内容

1、自身连接、等值连接、自然连接、求笛卡儿积、一般内连接等。

2、外连接、左连接、右连接、全外连接等。

三、             实验步骤

1、基本操作实验

在查询分析器中,练习自身连接、等值连接、自然连接、求笛卡儿积、一般内连接等的查询。请完成以下习题:

(1) 请使用等值连接列出Northwind数据库中的产品表(Products)和供应商表(Suppliers)中每种商品对应的供货商信息(包括Productid,Productname Supplierid,Companyname,contactname,address,)。

(2)使用等值连接列出Pubs数据库中表authors和publishers表中位于同一城市的作者和出版社。

(3)使用非等值连接列出Pubs数据库中表sales和titles表中一次定购量(qty)大于图书当年销量(ytd_sales)5%的书店标识(stor_id)、图书标识(title_id)、一次定购量及年销量的5%。

(4)(选做)使用自身连接列出pubs数据库中表stores中所有位于同一州(state)的书店名称(stor_name)及其地址(stor_address)。

(5)查询来自城市(city)为“London”的客户所订的订单信息(customerid,companyname, orderid,city, 考虑将customers和orders表进行连接)。

(6)(选做)查询Pubs数据库中,来自“CA”州的作家所著图书信息。(作者姓名,所著图书编号、名称titles.title_id,title,au_fname,au_lname,可参考将authors,titles,titleauthor表进行连接)

(7)(选做)使用自身连接列出pubs数据库合著图书的标识(title_id)及其合著者姓名(au_fname, au_lname)。(需使用表titleauthor和authors)

2、提高操作实验

练习外连接、左连接、右连接、全外连接等的查询。

(1)使用外连接(左连接、右连接、完全外连接),列出Pubs数据库中表authors和publishers中的所有作者(au_lname)和出版社(pub_name),及他们所在的城市。

四、             实验小结


第二篇:数据库原理及应用实验报告 3


实验成绩

《数据库系统原理及应用》

实验报告

专业班级:     计科(卓)1101     

学    号:      201116910233      

姓    名:         范晓曈        

指导教师:         苏小玲        

        20##年    10    月   25    日


实验三名称: T-SQL简单数据库查询

一、实验内容及要求

1.在实验二创建的数据库的基础上做查询,请在数据表中添加合适的记录以便能够验证查询结果

2.单表查询

1)查询C001课程的最高分和最低分

2)统计每个系的学生人数

3)查询还没有考试的课程的课程号

3.连接查询

1)统计每门课程的选课人数和考试最高分

2)统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果

3)查询选修C002课程的学生的姓名和所在系

4)查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果

5)查询选课门数最多的前两位学生,列出他们的学号和选课门数

二、实验目的

熟练掌握变量的定义、赋值与使用;

熟练掌握常用基本运算符。

熟练掌握流程控制语句,尤其是条件语句和循环语句。

三、实验步骤及运行结果

1.插入数据

学生信息:

insert into Student

values ('201116910233','范晓曈','女','计科')

insert into Student

values ('201116910228','王铭','女','计科')

insert into Student

values ('201116910231','李贞','女','电信')

insert into Student

values ('201116910232','师楠','女','电信')

insert into Student

values ('201116910222','谢剑章','男','计科')

insert into Student

values ('201116910224','陈阳阳','男','计科')

老师信息:

insert into teacher

values('001','苏小玲','0001','3230')

insert into teacher

values('002','王晓松','0002','4333')

insert into teacher

values('003','郑丽萍','0003','4234')

课程信息:

insert into course

values('C001','0001','001','数据库','3~15')

insert into course

values('C002','0002','002','计算机网络','1~13')

insert into course

values('C003','0003','003','计算机系统结构','1~14')

insert into course

values('C004','0004','004','软件工程','1~11')

insert into course

values('C005','0005','005','C++','1~10')

选课信息:

insert into sc

values('201116910233','C001','2013.8.31','90','90')

insert into sc

values('201116910228','C001','2013.9.1','92','92')

insert into sc

values('201116910224','C001','2013.8.30','94','93')

insert into sc

values('201116910222','C001','2013.8.31','95','94')

insert into sc

values('201116910231','C001','2013.8.29',null,null)

insert into sc

values('201116910222','C002','2013.8.31','95','00')

insert into sc

values('201116910224','C002','2013.8.30','90','80')

insert into sc

values('201116910228','C002','2013.8.31','92','84')

insert into sc

values('201116910233','C002','2013.8.30','92','79')

insert into sc

values('201116910233','C003','2013.8.30','92','85')

insert into sc

values('201116910228','C003','2013.9.1','92','90')

insert into sc

values('201116910224','C003','2013.9.2','92','92')

insert into sc

values('201116910222','C003','2013.8.31','93','92')

insert into sc

values('201116910231','C004','2013.8.30',null,null)

insert into sc

values ('201116910231','C005','2013.8.31',null,null)

用户信息:

insert into admin

values('谢剑章','10222')

insert into admin

values('陈阳阳','10224')

insert into admin

values('王铭','10228')

insert into admin

values('范晓曈','10233')

insert into admin

values('李贞','10231')

insert into admin

values('师楠','10232')

系表信息:

    insert into dept

values('1691','数据库','0001','办公楼')

    insert into dept

values('1692','计算机','0002','5办公楼')

insert into dept

values('1693','计科','0003','6办公楼')

insert into dept

values('1694','软件','0004','6办公楼')

2.单表查询

(1)查询C001课程的实践成绩的最高分和最低分

select MAX(sscore) 最高分,MIN(sscore) 最低分

from sc where Cno = 'C001'

(2)查询C001课程的考试成绩的最高分和最低分

select MAX(kscore) 最高分,MIN(kscore) 最低分

from sc where Cno = 'C001'

(3)统计每个系的学生人数

select Sdept as 系名 ,COUNT(*) 人数

from student

group by Sdept order by Sdept

(4)查询还没有考试的课程的课程号

select cno as 课程号 from sc

where sscore is null

3.连接查询

(1)统计每门课程的选课人数和考试成绩最高分

select cno as 课程号,COUNT (sno) as 选课人数,MAX (sscore) as 最高分

from sc group by cno

(2)统计每门课程的选课人数和实践成绩最高分

select cno as 课程号,COUNT (sno) as 选课人数,MAX (kscore) as 最高分

from sc group by cno

(2)统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果

select sno as 学号, count(*) as 选课门数,sum(sscore) as 考试总成绩

from sc

group by sno

order by count(*)

(3)统计每个学生的选课门数和实践总成绩,并按选课门数升序显示结果

select sno as 学号, count(*) as 选课门数,sum(kscore) as 实践总成绩

from sc

group by sno

order by count(*)

(4)查询选修C002课程的学生的姓名和所在系

select sname as 姓名,Sdept as 所在系

from student s join sc on s.Sno=sc.sno

where cno='C002'

(5)查询考试成绩80分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果

select sname as 姓名,cno as 课程号,sscore as 考试成绩

from student s join sc on  s.sno=sc.sno

where sscore >80

order by sscore desc

(6)查询考试成绩80分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果

select sname as 姓名,cno as 课程号,kscore as 实践成绩

from student s join sc on  s.sno=sc.sno

where kscore >80

order by kscore desc

(7)查询选课门数最多的前两位学生,列出他们的学号和选课门数

select top 2 sno as 学号,COUNT (cno) as 选课门数

from sc

group by sno order by COUNT (cno) desc

四、实验体会或实验中遇到的问题

通过这次数据库的设计,使我加深了对数据库知道的进一步了解,为了做好这次课程设计,我又学习了跟题目相关的数据库知识和VB编程语言,。

除此之外,还有上网查询一些相关的资料,和一些实际问题实现的例子,通过理解别人实现的过程,学习实现的一些基本思路。在这个过程中,我对整个连接数据库程序的过程有了一个更立体的认识和了解。

在这次的设计中,让我进一步认识了数据库的设计过程以及设计各阶段所做的工作和要注意的细节部分,对于数据库的功能也有了更加深的了解。

更多相关推荐:
数据库原理与应用综合实验报告

华北科技学院计算机学院综合性实验实验报告课程名称数据库原理与应用D实验学期20xx至20xx学年第2学期学生所在院部计算机学院年级20xx级专业班级信管B111班学生姓名林枕祥学号20xx07034116任课教...

数据库原理及应用实验报告

数据库原理及应用实验报告数据库原理及应用实验报告学院信息科学与工程学院班级计算机20xx1班学号3100717109姓名薛斌时间20xx年5月机房号05503J得分实验1创建数据库与数据表实验目的1熟悉SQLS...

《数据库原理与应用》实验报告一

广东金融学院实验报告课程名称数据库原理与应用第1页共2页第2页共2页第3页共2页第5页共2页

《数据库原理与应用》实验报告二

广东金融学院实验报告课程名称数据库原理与应用第1页共2页第2页共2页第3页共2页第4页共2页第5页共2页第6页共2页

《数据库原理与应用》实验报告三及答案

广东金融学院实验报告课程名称数据库原理与应用第1页共2页第2页共2页第3页共2页第4页共2页

《数据库原理与应用》实验报告一(1)

金融学院实验报告课程名称数据库原理与应用第1页共2页第2页共2页第3页共2页第4页共2页第5页共2页

数据库原理及应用实验报告 7

数据库系统原理及应用实验报告七专业班级计算机科学与技术学号20xx16910233姓名范晓曈指导教师苏小玲20xx年11月28日实验七名称SQLServer触发器和游标一实验内容及要求使用教材建立的studen...

数据库原理与应用实训报告

实训报告第一部分实训目的通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题进一步掌握数据库原理的相关理论和数据库的设计实现过程进一步提高学生的分析问题和解决问题的能力以及学生的动...

数据库原理实验报告-T-SQL编程

XX大学XX学院1图1图22用户存储过程的编辑修改首先创建存储过程selectstudents在此基础上将该过程更改为检索计算机专业的学生信息用修改过程命令重新定义该存储过程21输入以下代码alterproce...

数据库原理课程设计报告格式(含任务书)

科技学院课程设计报告20xx20xx年度第1学期名称数据库原理课程设计院系班级学号学生姓名指导教师设计周数1成绩日期20xx年6月8日数据库原理课程设计任务书一目的与要求1这门课是为计算机科学与技术专业的学生在...

数据库原理实验报告(4)

南京晓庄学院数据库原理与应用课程实验报告实验四查询设计实验所在院系数学与信息技术学院班级学号姓名1实验目的1了解查询的目的掌握SELECT语句的基本语法和查询条件的表示方法2掌握数据排序和数据联接查询的方法3掌...

数据库原理实验报告

据库原理及应用实验报告题目触发器与存储过程专业计算机科学与技术班级1020xx2学号姓名太原工业学院计算机工程系20xx年12月4日一实验目的与要求使学生加深对触发器和存储过程的创建和使用二实验内容1触发器的使...

数据库原理与应用实验报告(22篇)