03实验五 SQL综合查询作业1

合集下载

实验五 查询的综合运用

实验五 查询的综合运用

实验五查询的综合运用一、实验目的利用SQL语句实现分组子句、摘要子句和函数等组合,可以实现对结果集全部数据统计、分组统计、全部记录与分组混合统计等多种多样的统计查询需求。

掌握查询的综合使用,深刻理解查询语句的含义及使用。

二、实验内容在读者_图书库中,用SQL表示下列操作。

(1)使用外部连接,查询所有读者借书的情况,最后结果中显示读者的姓名及所借图书的书号信息。

(2)使用外部连接,查询所有读者,所有图书的借阅情况,最后结果中显示读者的姓名,所借图书的书号及名称等信息。

(3)查询至少借了两本书的男性读者的编号及所借图书的数量,结果按照借书数量降序排序。

(4)查询借书数量最多的读者的编号及所借图书的数量。

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

(6)查找所有男性读者的信息,并将结果存到“男性读者”表中。

(7)查询图书表中所有信息,将结果存到临时表tmp1中。

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

(9)按类别列出所有图书的书号、名称及价格,并求出各类图书的总册数和总价格。

(10) 查询借阅了“刘洪亮”编写的任意一本图书的读者的编号。

(11) 查询借阅了“刘洪亮”编写的任意一本图书的读者的姓名。

三、实验参考操作(1) select 姓名,书号from 读者left join 借阅on 读者.编号=借阅.读者编号(2) select 姓名,图书.书号,书名from 读者full join 借阅full join 图书on 图书.书号=借阅.书号on 读者.编号=借阅.读者编号注意:在本命令中,两个“ON”语句的先后顺序。

(3) select 读者编号,count(*) 借书数量from 读者join 借阅on 读者.编号=借阅.读者编号where 性别='男'group by 借阅.读者编号having count(*)>=2order by 2 desc(4) select top 1 读者编号,count(*) 借书数量from 读者join 借阅on 读者.编号=借阅.读者编号group by 借阅.读者编号order by 2 desc(5) select * from 图书where 类别='计算机类'unionselect * from 图书where 出版社='电子工业出版社'(6) select * into 男性读者from 读者where 性别='男'注:大家在资源管理器中找一下本例所生成的表“男性读者”的位置。

2023 SQL 数据库查询练习题及答案

2023 SQL 数据库查询练习题及答案

2023 SQL 数据库查询练习题及答案数据库查询是数据管理和处理的重要环节,熟练的SQL查询技巧对于数据库工程师和数据分析师来说至关重要。

为了提升大家的SQL 查询能力,以下是一些2023年的SQL数据库查询练习题及答案,希望能够对大家的学习和实践有所帮助。

练习题1:学生成绩表考虑一个学生成绩表(Students)和课程信息表(Courses),请使用SQL查询语句完成以下操作。

1. 查询所有学生的姓名和学号;2. 查询所有参加了"C3"课程的学生的姓名和学号;3. 查询所有选择了至少两门课程的学生的姓名和学号;答案1:SELECT 学号, 姓名FROM 学生成绩表;答案2:SELECT 学生成绩表.学号, 学生成绩表.姓名FROM 学生成绩表, 课程信息表WHERE 学生成绩表.课程编号 = 课程信息表.课程编号AND 课程信息表.课程名称 = "C3";答案3:SELECT 学号, 姓名FROM 学生成绩表GROUP BY 学号, 姓名HAVING COUNT(*) >= 2;练习题2:库存管理考虑一个库存管理系统的数据库,包含了商品表(Products)、仓库表(Warehouses)和库存表(Inventory)。

请使用SQL查询语句完成以下操作。

1. 查询商品表中单价不低于100元的商品的名称和单价;2. 查询所有位于“北京”仓库中的商品的名称和库存量;3. 查询库存量最多的商品的名称和库存量;答案1:SELECT 名称, 单价FROM 商品表WHERE 单价 >= 100;答案2:SELECT 商品表.名称, 库存表.库存量FROM 商品表, 仓库表, 库存表WHERE 商品表.商品ID = 库存表.商品IDAND 仓库表.仓库ID = 库存表.仓库IDAND 仓库表.所在地 = "北京";答案3:SELECT 商品表.名称, 库存表.库存量FROM 商品表, 库存表WHERE 商品表.商品ID = 库存表.商品IDORDER BY 库存表.库存量 DESCLIMIT 1;练习题3:订单管理考虑一个订单管理系统的数据库,包含了客户表(Customers)、订单表(Orders)和订单详情表(OrderDetails)。

实训查询作业3——SQL查询1

实训查询作业3——SQL查询1

实训查询作业3—SQL查询
1. 在“图书管理系统”数据库中,使用SQL语句查询“图书库存表”中的“图书名称”和“价格”。

2.在“图书管理系统”数据库中,使用SQL数据查询语句查询“图书库存表”中入库时间在07年5月以后且价格大于30元的图书信息。

3.使用SQL数据查询语句统计“借书证表”中各借书证类型的读者人数。

4.使用SQL数据查询语句统计“图书库存表”价格最低的和价格最高的图书价格。

1.SELECT FROM 图书库存表WHERE图书名称AND价格
2.SELECT FROM 图书库存表WHERE 入库时间>#2007-05# AND 价
格>30
3.SELECT FROM借书证表FROM 借书证类型
4.SELECT图书库存表WEHRE 价格=MAX AND MIN。

SQL综合作业

SQL综合作业

高校信息管理系统数据库设计北京某高校拟开发一套高校信息管理系统,该系统包括学生档案管理、学生成绩管理、教员信息管理、教务排课等模块,实现学生档案录入、修改、查询,成绩录入、修改、查询,教务排课管理等功能。

要进行后台数据库的设计,以“学生成绩管理”为例,创建一个数据库。

此模块具有成绩输入,成绩查询,名次排序,分数统计等功能。

步骤:一.现要求对“学生成绩管理”子模块进行数据库的设计并实现,数据库保存在F:\project目录下,文件增长率为15% 。

利用企业管理器创建数据库实现此步骤。

二.所有的表的设计如下:(以下建库建表操作用企业管理器完成,数据插入,修改,删除,查询操作用查询分析器实现)三.插入数据:说明:每位学生的座位号不用插入,从1开始自动编号学生李文才的地址不详,所以地址一栏为空(提示:应该为其取缺省值’地址不详’)学生成绩表的测试数据如下:说明:考号为E2005070002的学员机试缺考欧阳俊雄(学号为S25304)因事请假,没有报考机试四.查询数据:1.查询两个表中的所有记录。

检查数据插入是否正确。

2.查询所有男学员的名单3.查询笔试成绩优秀的学员情况(75-100之间),显示学号、笔试成绩4.查询参加本次考试的学员成绩,包括学员姓名、笔试成绩及机试成绩5.统计笔试考试平均分和机试考试平均分6.统计参加本次考试的学员人数7.查询没有通过考试的人数(笔试或机试小于60分)8.查询学员成绩、显示学号、笔试成绩、机试成绩及平均分9.排名次(按平均分从高到低排序),显示学号和平均分10.排名次(按平均分从高到低排序),显示姓名、笔试成绩、机试成绩和平均分11.根据平均分显示前两名信息,包括姓名、笔试成绩、机试成绩、平均分。

五.修改数据:a)由于笔试试卷难度过大,改试卷后经商议决定:所有学员的笔试成绩都提高5分,超过100分的按100分计算i.提示:分两步进行。

首先所有笔试成绩都提高5分,然后将所有超过100的成绩更改为100分。

常规数据查询SQL实验一答案

常规数据查询SQL实验一答案

常规数据查询SQL实验一答案--A.查看所有供应商的信息;select * from s;--B.查看供应商的姓名和所在城市,并且将输出结果中的列名显示为“名称”、"所在城市";select sname 名称,city 所在城市from s;--C.求出一箱(每箱装100个)零件的重量,并将输出结果显示为“零件编号”、“零件名称”、“每箱的重量”;select pno 零件编号,pname 零件名称,weight*100 每箱的重量from p;--D.求出一箱(每箱装100个)零件的重量,并将输出结果显示为“零件编号”、“零件名称”、“每箱的重量”、“重量单位”,其中重量单位为“KG”;select pno 零件编号,pname 零件名称,weight*100 每箱的重量,'KG' 重量单位from p;--E.查看所有零件的颜色种类;select distinct color from p;-- Where子句:--F.找出使用供应商S1所供应零件的工程号码;select jno from spj where sno='S1'--G.求供应工程J1零件的供应商号码SNO;select jno from spj where jno='J1'--H.求供应工程J1零件P1的供应商号码SNO;select distinct jno from spj where jno='J1' and pno='P1'--I.找出重量在15到25之间的零件;select * from p where weight between 15 and 25;--J.找出在“北京”、“天津”、“上海”的供应商;select * from s where city in ('北京','天津','上海')--K.查找所有以“螺”开头的零件;select * from p where pname like '螺%';--Order by子句:--L.查询所有的零件,以零件的重量降序显示,重量相同的按照Pno 升序显示;select * from p order by weight desc,pno;--M.查询所有的“红”色零件,以零件的重量升序显示;select * from p where color='红' order by weight;--N.查询每箱零件的重量,将输出结果显示为“零件编号”、“每箱重量”,并按照重量降序显示;select pno 零件编号,weight*100 每箱重量from p order by 2 desc;--聚集函数:--O.统计供应商的个数,显示结果列名为“供应商的个数”;select count(*) 供应商的个数from s;--P.统计“上海”供应商的个数,显示结果列名为“上海供应商的个数”;select count(*) 上海供应商的个数from s where city='上海';--Q.求出“P1”零件总的供应数量;select sum(QTY) from SPJ where pno='P1';--R.找出最重的零件的重量;select max(weight) from p;--S.求出最重的零件和最轻的零件之间的重量差值;select max(weight)-min(weight) from p;--Group by子句:--T.求出每个城市供应商的个数;select city,count(*) 供应商的个数from s group by city --order by 2 desc;--U.求出供应商的个数在2个及以上的城市的名称;select city,count(*) 供应商的个数from s group by city having count(*)>=2;--V.求出每种颜色的零件的个数;select color 颜色, count(*) 该颜色的数量from p group by color;--W.求出每一种零件的供应数量;select pno,sum(QTY) 供应总量from SPJ group by pno;--X.求出供应总量在1000及以上的零件的编号以及供应量,并按照供应量降序显示;select pno,sum(QTY) 供应总量from SPJ group by pno having sum(QTY)>=1000;--Y.求出由“P2”和“P4”供应的零件的供应量在1000以上的零件的编号以及供应量,并按照供应量降序显示;select pno,sum(QTY) 供应总量from SPJ where pno in ('P2','P4') group by pno having sum(QTY)>=1000;--Z.求出供应总量最多的供应商的编号;select top 1 sum(QTY) 供应总量from SPJ group by pno order by 1 DESC;--(提示:使用select top 1 from …)。

sql查询实验报告

sql查询实验报告

sql查询实验报告SQL查询实验报告一、引言SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。

在数据库管理系统中,SQL查询是一项重要的操作,通过使用SQL查询语句可以从数据库中检索所需的数据。

本实验旨在通过实际操作,掌握SQL查询的基本语法和常用技巧。

二、实验目的1. 熟悉SQL查询语句的基本结构和语法;2. 掌握SQL查询中的条件筛选、排序和聚合等操作;3. 学会使用SQL查询语句从数据库中检索所需的数据。

三、实验环境本次实验使用MySQL数据库管理系统,通过MySQL Workbench进行操作。

四、实验步骤1. 连接数据库:打开MySQL Workbench,点击“新建连接”,输入数据库连接信息,成功连接到目标数据库。

2. 创建测试表:创建一个名为“students”的表,包含字段“id”(学生编号)、“name”(学生姓名)、“gender”(学生性别)、“age”(学生年龄)和“score”(学生成绩)。

3. 插入测试数据:向“students”表中插入若干测试数据,包括学生的编号、姓名、性别、年龄和成绩。

4. 执行SQL查询语句:使用SQL查询语句从“students”表中检索所需的数据。

五、实验结果与分析1. 查询所有学生的信息:SELECT * FROM students;通过执行以上查询语句,可以获取到“students”表中所有学生的信息,包括学生的编号、姓名、性别、年龄和成绩。

2. 查询成绩大于80分的学生信息:SELECT * FROM students WHERE score > 80;以上查询语句中的WHERE子句用于筛选成绩大于80分的学生信息,通过执行该语句,可以获取到符合条件的学生的信息。

3. 查询男生的平均成绩:SELECT AVG(score) FROM students WHERE gender = '男';以上查询语句中的AVG函数用于计算符合条件的学生的平均成绩,通过执行该语句,可以获取到男生的平均成绩。

实验一SQL库表操作查询综合

实验一SQL库表操作查询综合

实验一库、表操作及查询综合实验【实验目的】:1.掌握建库、建表、导入数据的方法2.掌握insert、update、delete语句3.熟练掌握select语句【实验要求】:按照下述步骤完成实验,撰写实验报告并提交相应数据库文件。

实验报告需呈现每一步操作结果的截图。

实验成绩以百分计。

一、利用SQL Server Management Studio(SSMS)创建名为“TeachingDB_***”的数据库(***表示个人姓名);数据文件初始大小设置为10MB,不限制增长,增长速度为10%;日志文件初始大小为2MB,最大尺寸为5MB,增长速度为1MB。

(2分)二、在TeachingDB_***中按照要求创建下列表。

(20分)三、从给定Excel文件导入数据到TeachingDB_***中(3分)四、利用T-SQL进行表数据的插入、删除与更新(每题5分,共计15分)1.向t_student表中插入一行记录,记录内容为个人真实信息2.从t_course表中删除课程名为“工程数学”的课程记录3.将t_teacher表中工号为“t001”的教师职称更改为“教授”五、完成下述查询(每题4分,共计60分)1.根据个人学号查询个人信息2.查询所有姓李的学生的学号,姓名和年龄3.查询女同学的姓名和年龄,查询结果的列名分别指定为“姓名”和“年龄”4.查询软件工程专业所有男学生的平均年龄5.查询年龄在30到35岁之间的副教授的姓名和年龄,查询结果按年龄降序排列6.查询所有学生的学号,姓名和性别,将查询结果插入到新表t_sinfo中7.查询有同学选修的课程的课程号及课程名8.查询李平同学所选修课程的课程号,课程名和成绩9.查询选修了数据库课程但成绩为空的学生的姓名10.查询既选修了C001号课程,又选修了C002号课程的学生的学号11.查询李平同学选修的课程的门数以及平均成绩12.查询年龄比李平同学大的所有学生的学号,姓名和年龄13.查询每个专业的学生人数,查询结果中显示“专业”和“人数”两列14.查询选课人数超过5人的课程信息,要求显示课程号,课程名和选修人数15.查询没有选修数据库课程的学生的学号。

SQL实验及部分答案

SQL实验及部分答案

SQL实验及部分答案实验⼀使⽤SQL语句创建和删除数据库⼀. 实验⽬的:1、了解SQL Server 2005数据库的逻辑结构和物理结构。

2、掌握使⽤SQL 语句创建和删除数据库。

⼆. 实验准备1.明确能够创建数据库的⽤户必须是系统管理员,或是被授权使⽤CREATE DATABASE语句的⽤户。

2.了解⽤SQL语句创建和删除数据库的基本语法。

三. 实验要求3、熟练使⽤查询分析器进⾏数据库的创建和删除操作4、完成⽤sql语句建⽴和删除数据库的实验报告四. 实验内容1.以下是创建数据库userdb1的SQL语句,以下是创建数据库userdb1的SQL语句,CREATE DATABASE userdb1 --创建名为userdb1的数据库on( NAME='userdb2',--数据⽂件的逻辑名称为userdb2FILENAME= 'd:\test\userdb1.mdf', ----物理路径为d:\testSIZE=5mb,----数据初始长度为5MMAXSIZE=10mb, --最⼤长度为10MFILEGROWTH=1mb --数据⽂件每次增长1M)运⾏上诉语句建⽴数据库userdb1.2.⽤SQL语句删除步骤⼀建⽴的数据库userdb1。

drop database userdb1 --删除数据库userdb1实验⼆分别⽤向导和SQL语句创建和删除表⼀.⽤SQL语句创建表在SQL Server 2005 的查询分析器中,⽤sql语句创建student表。

表2.1 student表(学⽣信息表)CREATE TABLE student(sno char(8)not null primary key,--学号(主键)sname char(8)not null,--姓名sex char(2)null,--性别native char(20)null,--籍贯birthday datetime null,--出⽣⽇期dno char(6)null,--所在院系spno char(8)null,--专业代码classno char(4)null,--班级号entime datetime null,--⼊校时间home varchar(40)null,--家庭住址tel varchar(40)null,--联系电话)表2.2 course表(课程信息表)CREATE TABLE course(cno char(10)not null primary key, spno char(8)null,cname char(20)not null,ctno tinyint null,experiment tinyint null,lecture tinyint null,semester tinyint null,credit tinyint null)实验三修改数据库基本表的定义⼀.实验⽬的1.了解表的结构特点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五SQL查询综合实验
求同年级中尽量按学院、同学院则尽量按行政班,同班级按所修学分数由高到低列出学号和学分信息。

第二部分实验基于“图书管理”数据库
打开“图书管理”数据库,完成下列工作。

已知一个图书管理信息系统,其数据表间约束如下图所示,各个数据表的字段类型和数据请自行查阅。

在编写SQL查询语句前必须按下列要求以Insert语句增加或update语句修改记录数据(报告中列示语句即可):
发①以实验者真实身份在读者表中插入一条记录,要求读者编号的后五位为实验者学号的后五位,工作单位为所在学院。

在读者表中插入一条姓名为“刘鹏翔”记录,其读者编号的后五位与实验者相邻,工作单位与实验者相同。

性别和身份证号在合理的范围内自定。

②在图书表中增加2种实验者在用图书,例如,其中一种是《数据库应用》图书。

③在借阅表中分别各增加实验者和“刘鹏翔”3条以上的借阅记录,其中包含一本两者均借阅的图书。

编写SQL,完成下列功能:
(1)查询“公共管理学院”没有归还图书的读者的编号、姓名、图书名称、借阅日期。

(2)列示各图书分类号中不同图书(图书编号不同)的数量和库存总量。

(3)查询文学类图书的基本信息(图书编号,图书名称,作者姓名,出版社名和出版号)。

(4)查询2005年出版中单价最高的图书信息:图书编号,图书名称,作者姓名,出版社名和出版号出版时间及单价;如果有单价相同但属不同的图书要求一并列示。

(5)按分类名称,同种分类名称按图书编号查询每种图书的分类名称、图书编号、图书名称、库存数量。

相关文档
最新文档