数据库-SQL语言的实验
sql数据库实验报告

sql数据库实验报告目录1. 实验概述 (2)1.1 实验目的 (2)1.2 实验背景 (3)1.3 实验内容 (4)1.4 实验环境 (5)2. 数据库设计 (5)2.1 数据库概念 (6)2.2 表结构设计 (8)2.2.1 表1名称及字段定义 (9)2.2.2 表2名称及字段定义 (10)2.3 关系约束 (11)3. SQL语句操作 (12)3.1 数据插入 (13)3.2 数据查询 (14)3.2.1 根据条件查询 (15)3.2.2 聚合函数查询 (16)3.2.3 连接查询 (17)3.3 数据更新 (18)3.4 数据删除 (20)4. 实验结果展示 (21)4.1 SQL语句执行结果 (22)4.2 数据分析及解释 (22)4.2.1 查询结果的意义 (24)4.2.2 数据之间的关系性分析 (24)5. 实验总结与展望 (25)5.1 实验总结 (26)5.2 总结得到的经验与教训 (27)5.3 进一步研究建议 (29)1. 实验概述本实验旨在通过实践操作,实验内容涵盖了常见数据库操作,包括表创建、数据插入、查询、修改和删除。
通过完成实验,我们将学习如何使用SQL语句来管理和处理数据库数据,掌握常用的 SELECT、INSERT、UPDATE、DELETE 语句以及 JOIN 操作等,并熟悉数据库的操作流程和概念。
本实验旨在提升 SQL 数据库操作技能,并为后续更深入的数据库学习和应用打下基础。
您可以根据实际实验内容对以上段落进行修改和完善,具体修改点包括:明确实验的主题和目标,例如:实验主题可能是某个特定数据库管理系统(如MySQL、PostgreSQL等)的应用,目标可能是学习该数据库特定的功能特性。
1.1 实验目的本次实验旨在通过实际操作,验证和巩固SQL语言在关系型数据库管理中的应用能力,并加深对数据库设计、数据操作以及数据查询与分析的理解。
具体实验目的包括:学习SQL基础:掌握SQL语言的基本语法和常用命令,包括数据类型定义、表格创建、插入、更新和删除操作。
数据库实验报告实验二_交互式SQL

数据库实验报告实验二_交互式SQL一、实验目的1.了解交互式SQL的基本语法和使用步骤;2.掌握在MySQL中创建数据库和表格的方法;3.掌握常用的SQL操作语句。
二、实验环境1. 操作系统:Windows 10;2.数据库管理系统:MySQL。
三、实验内容1.创建数据库和表格(1)启动MySQL服务,在命令提示符窗口中输入以下命令:```mysql -u root -p```(2)输入MySQL的密码,进入MySQL的命令行界面。
(3) 创建一个新的数据库,命名为`student`,输入以下命令:```CREATE DATABASE student;```(4)进入刚刚创建的数据库,输入以下命令:```USE student;```(5) 在`student`数据库中创建一个新的表格,命名为`score`,输入以下命令:```CREATE TABLE scoreid INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),english INT,math INT,physics INT```(6) 使用`DESCRIBE`命令查看新创建的`score`表格的结构,输入以下命令:```DESCRIBE score;```2.插入数据(1) 使用`INSERT INTO`命令向`score`表格中插入数据,输入以下命令:```INSERT INTO score (name, english, math, physics) VALUES ('张三', 80, 90, 85), ('李四', 75, 85, 90);```(2) 使用`SELECT`命令查询`score`表格中的数据,输入以下命令:```SELECT * FROM score;```3.更新数据(1) 使用`UPDATE`命令修改`score`表格中的数据,将`id`为1的记录的英语成绩修改为86,输入以下命令:```UPDATE score SET english = 86 WHERE id = 1;```(2) 使用`SELECT`命令查询`score`表格中的数据,验证英语成绩是否被修改,输入以下命令:```SELECT * FROM score;```4.删除数据(1) 使用`DELETE FROM`命令删除`score`表格中的数据,将`id`为2的记录删除,输入以下命令:```DELETE FROM score WHERE id = 2;```(2) 使用`SELECT`命令查询`score`表格中的数据,验证记录是否被删除,输入以下命令:```SELECT * FROM score;```四、实验总结本次实验主要学习了交互式SQL的基本语法和使用步骤,并通过实践掌握了在MySQL中创建数据库和表格的方法,以及常用的SQL操作语句。
大一sql数据库实验报告

大一sql数据库实验报告大一SQL数据库实验报告一、引言SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。
在大一的数据库课程中,我们学习了SQL语言的基本语法和常用操作,通过实验来巩固和应用所学知识。
本篇实验报告将对我在大一SQL数据库实验中的学习和实践进行总结和归纳。
二、实验内容本次实验主要涉及以下内容:1. 创建数据库和表:使用CREATE语句创建数据库和表,定义表的结构和字段。
2. 插入数据:使用INSERT语句向表中插入数据,测试数据的正确性和完整性。
3. 查询数据:使用SELECT语句查询数据库中的数据,包括条件查询、排序和限制查询结果数量等。
4. 更新数据:使用UPDATE语句更新表中的数据,修改指定字段的值。
5. 删除数据:使用DELETE语句从表中删除数据,删除指定条件的记录。
6. 数据库连接:使用JOIN语句实现多表连接查询,关联不同表中的数据。
7. 数据库事务:使用BEGIN TRANSACTION、COMMIT和ROLLBACK语句实现事务的管理和控制。
三、实验过程和结果1. 创建数据库和表我使用CREATE DATABASE语句创建了一个名为“学生管理”的数据库。
然后,我在该数据库中创建了两个表,分别是“学生信息表”和“课程信息表”。
学生信息表包括学生ID、姓名、年龄和性别等字段,课程信息表包括课程ID、课程名称和学分等字段。
2. 插入数据接下来,我使用INSERT INTO语句向学生信息表和课程信息表中插入了一些测试数据,包括学生的基本信息和课程的相关信息。
插入数据后,我使用SELECT语句确认数据的插入是否成功,并验证了数据的完整性和准确性。
3. 查询数据我使用SELECT语句进行了多种查询操作,包括条件查询、排序和限制查询结果数量等。
例如,我使用WHERE子句实现了根据学生姓名和课程名称进行查询的功能;使用ORDER BY子句对查询结果按照指定字段进行排序;使用LIMIT子句限制查询结果的数量。
数据库sql 实验报告

数据库sql 实验报告数据库SQL实验报告1. 引言数据库是现代信息系统中不可或缺的组成部分,它提供了有效地存储和管理数据的能力。
结构化查询语言(SQL)是一种用于管理和操作关系型数据库的标准化语言。
本实验报告旨在通过实际操作和实验结果的分析,探讨SQL在数据库中的应用和效果。
2. 实验目的本次实验的主要目的是熟悉和掌握SQL语言的基本操作,包括数据的查询、插入、更新和删除等。
通过实验,我们可以进一步了解SQL语言的特点和使用方法,加深对数据库管理系统的理解。
3. 实验环境本次实验使用的数据库管理系统为MySQL,它是一种开源的关系型数据库管理系统。
MySQL提供了强大的功能和灵活的配置选项,被广泛应用于各种规模的应用程序中。
4. 实验步骤4.1 数据库连接在实验开始之前,我们首先需要建立与数据库的连接。
通过使用MySQL提供的连接函数,我们可以指定数据库的主机地址、用户名和密码等信息,以便进行后续的操作。
4.2 数据库创建在连接成功后,我们可以使用SQL语句创建一个新的数据库。
通过指定数据库的名称和字符集等属性,我们可以灵活地创建适合自己需求的数据库。
4.3 数据表创建数据库中的数据以表的形式进行组织和存储。
在本次实验中,我们将创建一个名为"students"的数据表,用于存储学生的基本信息。
通过指定表的字段和属性,我们可以定义每个字段的数据类型和约束条件。
4.4 数据插入在数据表创建完成后,我们可以使用SQL语句向表中插入数据。
通过指定插入的字段和对应的值,我们可以将具体的数据添加到表中。
在插入数据时,我们还可以使用事务来确保数据的完整性和一致性。
4.5 数据查询数据查询是SQL语言的核心功能之一。
通过使用SELECT语句,我们可以从表中检索所需的数据。
SELECT语句可以使用不同的条件和运算符进行过滤和排序,以满足不同的查询需求。
4.6 数据更新和删除除了查询,SQL语言还提供了更新和删除数据的功能。
数据库SQL实验报告__数据库的基本操作

数据库SQL实验报告__数据库的基本操作一、实验目的1.理解数据库SQL语言的基本操作;2.学会使用数据库SQL语言进行数据的增删改查操作。
二、实验环境1. 操作系统:Windows 10;2.数据库管理系统:MySQL;3. 开发工具:Navicat for MySQL。
三、实验内容本次实验主要涉及数据库的基本操作,包括创建数据库、创建数据表、插入数据、更新数据、删除数据以及查询数据等。
1.创建数据库步骤一:打开Navicat for MySQL,并点击左上角的“新建连接”按钮;步骤二:填写连接信息,包括主机、端口、用户名和密码,并点击“连接”按钮;步骤三:点击“新建数据库”按钮,填写数据库的名称,并点击“确定”按钮。
2.创建数据表步骤一:在已连接的数据库上点击右键,选择“新建数据表”;步骤二:填写数据表的名称,并点击“确定”按钮;步骤三:填写数据表的字段信息,包括字段名、数据类型、长度、索引、主键等,并点击“确定”按钮。
3.插入数据4.更新数据5.删除数据6.查询数据步骤一:在数据表上点击右键,选择“查看数据”;步骤二:在弹出的查询窗口中填写查询条件,并点击“确定”按钮。
四、实验结果通过以上基本操作,成功创建了一个数据库,并在数据库中创建了一个数据表。
插入了一条数据,并成功地更新和删除了数据。
最后,使用查询操作查看了数据库中的数据。
五、实验总结通过本次实验,我深入了解了数据库SQL语言的基本操作,学会了使用数据库SQL语言进行数据的增删改查操作。
在实验过程中,我发现通过SQL语句进行数据库操作更加灵活、方便且高效。
还学会了使用Navicat for MySQL这样的数据库管理工具,提高了数据库的操作效率。
通过实验,我对数据库的基本原理和操作有了更深入的了解,为日后的数据库开发和管理打下了坚实的基础。
数据库试验---SQL数据更新语句

实验SQL数据更新语句一、实验目的本次实验了解SQL Server 2005的启动,熟悉如何使用SSMS和5@1.建立数据库和表,并加深对于完整性的理解。
一.二、背景知识在使用数据库的过程中,接触最多的就是数据库中的表。
表是数据存储的地方,是数据库中最重要的部分,管理好表也就管理好了数据库。
表是由行和列组成的。
创建表的过程主要就是定义表的列的过程。
表的列名在同一个表中具有唯一性,同一列的数据属于同一种数据类型。
除了用列名和数据类型来指定列的属性外,还可以定义其它属性:是否为空、默认值、标识符列、全局唯一标识符列等。
约束是SQL Server提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。
在SQL Server中有5种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constraint)、惟一性约束(Unique Constraint)x 检查约束(Check Constraint)和默认约束(Default Constraint) 0...三、实验目的加深对SQL数据更新(插入、修改及删除)语句的基本语法格式的掌握掌握单个元组及多个元组的插入、修改及删除操作的实现过程加深对更新操作时数据库中数据一致性问题的了解加深对约束条件在数据更新操作执行中的作用问题的了解。
实验报告要求1、写出与上述任务相对应的SQL更新语句(实验报告上写出3、5、10的SQL语句)2、并记录在实验过程中遇到的问题、解决办法及心得体会。
五、实验内容方法一:在SSMS中插入、删除及修改数据,方法二:在查询编辑器中写SQL插入、删除及修改数据设有一个SPJ数据库,包括S, P, J, SPJ四个关系模式:S (SNO, SNAME, STATUS, CITY)dlim-S dbo. F dbo. JP (PNO, PNAME, COLOR, WEIGHT)PNAM;vardnar(2D)08L8Cbi3l(4)0WEIGm-int H□J (JNO, JNAME, CITY)列名数据类型允许空供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表1由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
SQL数据库实验报告

带条件查询一、实验名称:二、日期三、实验目的和内容(这是实验报告极其重要的内容。
)1.SQL Server工具的环境和使用;2.利用SELECT语句实现简单的查询需求;3.掌握使用逻辑操作符来抽取基于多个满足条件的记录4.掌握使用范围操作符、列表操作符、模式匹配操作符、为空操作符来抽取满足条件的记录的方法5.掌握使用ORDER BY 从句来以特定的顺序抽取数据的方法6.掌握使用TOP 关键字仅抽取行的前面集合7.掌握使用DISTINCT 关键字消除重复行四、实验过程及结果(给出实验主要的步骤和实验结果, 包括算法或代码)1.SELECT EmployeeID,Rate,rank()OVER(ORDER BY Rate desc)AS RANK FROM HumanResources.EmployeePayHistory2.SELECT EmployeeID,Rate,dense_rank() OVER(ORDER BY Rate desc)AS rankFROM HumanResources.EmployeePayHistory3.SELECT Title,convert(char(10),HireDate,2)As'Hire Date'FROMHumanResources.Employee4.SELECT EmployeeID,upper(Title)AsDesignation,datediff(yy,Birthdate,getdate())As AgeFROM HumanResources.Employee WHERE Title='Marketing Manager'OR Title='Marketing Specialist'5.SELECT EmployeeID,EndDate FROM HumanResources.EmployeeDepartmentHistory WHERE EndDate IS NULL6.SELECT EmployeeID,Title,LoginID FROM HumanResources.Employee WHERE Title IN('Recruiter','Stocker')7.SELECT DISTINCT Title FROM AdventureWorks.HumanResources.Employee WHERE Title LIKE 'PR%'五、实验体会(包括有疑问的)这次实验, 我了解了.SQL Server工具的环境和使用, 学习了使用逻辑操作符来抽取基于多个满足条件的记录., 以及使用范围操作符、列表操作符、模式匹配操作符、为空操作符来抽取满足条件的记录的方法使用ORDER BY 从句来以特定的顺序抽取数据的方法等等。
数据库实验报告-使用SQL语句操作数据

数据库实验报告-使用SQL语句操作数据数据库原理实验报告实验名称:实验二使用SQL语句操作数据实验时间:2013.4.16学生姓名:班级:软件学号:一、实验目的1、熟悉SQL Server 2005的基本环境2、使用对象资源管理器管理数据库、基本表、视图、索引等对象3、锻炼学生对SQL Server 2005基本操作能力二、实验内容1、使用对象资源管理器创建SPJ数据库(1)更改主数据库文件的增长模式,改为按5MB自动增长;(2)更改事务日志文件的增长模式,改为按1MB自动增长。
2、在数据库中创建S, P, J, SPJ四个关系模式:S ( SNO, SNAME, STATUS, CITY )P(PNO, PNAME, COLOR, WEIGHT)J(JNO, JNAME, CITY)SPJ(SNO, PNO, JNO, QTY)【说明:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(SNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成。
】3、建立数据库关系图。
将建好的数据库和表转化为SQL语句,以sql脚本方式保存。
4、使用对象资源管理器向表中插入下列数据。
SP表5、使用SQL语言完成如下操作:1)求供应工程J1零件的供应商号码SNO。
2)求供应工程J1零件P1的供应商号码SNO。
3)求供应工程J1零件为红色的供应商号码SNO。
4)求没有使用天津供应商生产的红色零件的工程号JNO。
5)求至少用了供应商S1所供应的全部零件的工程号JNO。
6)找出所有供应商的姓名和所在城市。
7)找出所有零件的名称、颜色、重量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北华航天工业学院《数据库原理与应用》实验报告报告题目:SQL语言作者所在系部:计算机系作者所在专业:网络工程作者学号:20114052233作者姓名: 张旭刚指导教师姓名:李建义完成时间:20134.24北华航天工业学院教务处制SQL语言一、实验目的1、理解数据库以及数据表的设计;2、熟悉SQLServer2005中的数据类型;3、熟悉使用SQL语句创建和删除模式和索引;4、掌握使用SQL语句创建、修改和删除数据表;5、掌握使用SQL语句查询表中的数据;6、掌握使用SQL语句插入、修改和删除数据表中的数据;7、掌握使用SQL语句创建、删除、查询和更新视图。
二、实验内容(一)创建数据库和模式1、通过SQL语句创建图书信息管理数据库,命名为“db_Library”,数据文件和日志文件放在D盘下以自己学号和姓名命名的文件夹中,数据文件的逻辑名为db_Library_data,数据文件的操作系统名为db_Library_data.mdf,文件初始大小为10MB,最大可增加至300MB,增幅为10%;日志文件的逻辑名为db_Library_log,日志文件的操作系统名为db_Library_data.ldf,文件初始大小为5MB,最大可增加至200MB,增幅为2MB。
2、通过SQL语句在该数据库中创建模式L-C。
(二)创建和管理数据表要求为各数据表的字段选择合适的数据类型及名称;为各数据表设置相应的完整性约束条件。
1、通过SQL语句将以下数据表创建在L-C模式下:课程信息表(tb_course)——课程编号、课程名、先修课、学分2、通过SQL语句将以下数据表创建在该数据库的默认模式dbo下:图书类别信息表(tb_booktype)——类别编号、类别名称图书信息表(tb_book)——图书编号、类别编号、书名、作者、出版社、定价、库存数读者信息表(tb_reader)——读者编号、姓名、性别、学号、班级、系部借阅信息表(tb_borrow)——图书编号、读者编号、借阅日期、归还日期3、通过SQL语句对读者信息表进行修改:删除系部字段、添加所在系字段。
4、通过SQL语句对图书信息表进行修改:将定价的数据类型改为REAL。
5、通过SQL语句删除课程信息表。
(三)创建和删除索引1、使用SQL语句在图书信息表上创建一个非聚簇索引IX_S_QUANTITY,要求按照该表中库存数字段的降序创建。
2、使用SQL语句在读者信息表上创建一个唯一的非聚簇索引IX_S_NAME,要求按照该表中的姓名字段的升序创建。
3、使用SQL语句删除之前创建的两个索引。
(四)数据库及数据表设计根据周围的实际应用情况,自选一个小型的数据库应用项目进行研究,完成该系统的设计。
要求2人一组,通过需求分析,列出系统的主要功能,并完成该系统数据库的逻辑结构设计。
例如可选择学籍管理系统、企业进销存管理系统、人事管理系统或在线考试系统等。
(五)数据查询通过SSMS向各数据表中添加以下记录。
(1对以上数据表,完成以下操作:(1)查询每本图书的所有信息;(2)查询每个读者的读者编号、姓名和班级;(3)查询每条借阅记录的借阅天数(函数DA TEDIFF获取两个日期的差);(4)查询被借阅过的图书的图书编号;(5)查询图书编号为“10006”的书名和作者;(6)查询库存数在5到10本之间的图书的图书编号和书名;(7)查询计算机系或电子系姓张的读者信息;(8)查询书名包括“英语”的图书信息;(9)统计男读者、女读者的人数;(10)统计各类图书的类别编号、平均定价以及库存总数;(11)统计每本书籍借阅的人数,要求输出图书编号和所借人数,查询结果按人数降序排列;(12)查询有库存的各类别图书的类别编号、类别名称和借阅数量;(13)查询借阅了“大学英语”一书的读者,输出读者姓名、性别、系部;(14)查询每个读者的读者编号、姓名、所借图书编号以及所借阅日期;(LEFT OUTERJOIN)(15)查询现有图书中价格最高的图书,输出书名、作者、定价;(16)查询借阅了“大学英语”但没有借阅“C++程序设计”的读者,输出读者姓名、性别、系部;(17)统计借阅了2本以上图书的读者信息;(18)查询借阅了“大学英语”一书或者借阅了“C++程序设计”一书的读者信息;(用集合查询完成)(19)查询既借阅了“大学英语”一书又借阅了“C++程序设计”一书的读者信息;(用集合查询完成)(20)查询计算机系中比其他系所有读者借书数量都多的读者的信息;(21)在读者信息表中插入一条新的记录(读者编号:R10011;姓名:张三;所在系:电子系);(22)定义一个表tb_booknew,包含图书编号、书名和类别名称字段,要求将类编编号为“3”的图书的图书编号、书名和类别名称插入到tb_bknew表中;(23)将类别编号为“3”的所有图书的库存数增加5;(24)将“C++程序设计”这本书的归还日期增加一个月(函数DATEADD)。
(25)删除姓名为“张三”的读者的信息;(26)删除tb_bknew表中的所有数据;(27)创建一个名为“读者借阅信息_VIEW”的视图,要求显示计算机系所有读者的借阅信息,包括读者编号、姓名、所在系、图书编号、书名和借阅日期等字段,更新该视图时要保证只有计算机系的读者借阅信息;(28)创建一个名为“图示借阅信息_VIEW”的视图,要求显示图书的借阅情况,包括图书编号、书名、库存数、借阅次数字段;(29)查询借阅次数大于2的图书的图书编号、书名、库存数和借阅次数;(30)删除“图示借阅信息_VIEW”视图。
三、实验步骤(1)查询每本图书的所有信息;select*from tb_book;(2)查询每个读者的读者编号、姓名和班级;select Rnum,name,classfrom tb_reader;(2) (3) (4)(3)查询每条借阅记录的借阅天数(函数DATEDIFF获取两个日期的差);select 'Borrowday'=datediff(DD,Bodata,redata)fromtb_borrow;(4)查询被借阅过的图书的图书编号;select Bnumfrom tb_borrow;(5)查询图书编号为“10006”的书名和作者;selectBname,writerfromtb_bookwhere Bnum='10006';(6)查询库存数在5到10本之间的图书的图书编号和书名;select Bnum,Bnamefrom tb_bookwhere Knum between5 and 10;(7)查询计算机系或电子系姓张的读者信息;select*fromtb_readerwhere(namelike'张%'and szxibu='计算机系')or(name like'张%'and szxibu='电子系');(6)(7)(8)查询书名包括“英语”的图书信息;select*from tb_bookwhere Bnamelike '%英语%';(9)统计男读者、女读者的人数;select Rsex,'num'=count(*)from tb_readergroup by Rsex;(10)统计各类图书的类别编号、平均定价以及库存总数;select Tynum,'Average price'=AVG(price),'Bookstore'=SUM(Knum)from tb_bookgroupbyTynum;(11)统计每本书籍借阅的人数,要求输出图书编号和所借人数,查询结果按人数降序排列;select Bnum,'num'=COUNT(Rnum)rom tb_borrowgroup by Bnumorder by num desc;(12)查询有库存的各类别图书的类别编号、类别名称和借阅数量;selecttb_booktype.Tynum,tb_booktype.Tyname,'quantity'=COUNT(*)from tb_book,tb_booktype,tb_borrowwheretb_book.Knum>0and tb_book.Tynum=tb_booktype.Tynumand tb_book.Bnum=tb_borrow.Bnumgroup by tb_booktype.Tynum,tb_booktype.Tyname;(13)查询借阅了“大学英语”一书的读者,输出读者姓名、性别、系部;selectname,Rsex,szxibufrom tb_readerwhereRnumin(select Rnumfrom tb_borrowwhere Bnum=(select Bnumfromtb_bookwhereBname='大学英语'));(14)查询每个读者的读者编号、姓名、所借图书编号以及所借阅日期;(LEFT OUTERJOIN)select tb_reader.Rnum,tb_reader.name,Bnum, Bodatafrom tb_readerLEFT OUTER JOINtb_borrow on(tb_reader.Rnum=tb_borrow.Rnum);(见下页)(15)查询现有图书中价格最高的图书,输出书名、作者、定价;select Bname,writer,pricefromtb_bookwhere price=(select MAX(price)fromtb_book);(16)查询借阅了“大学英语”但没有借阅“C++程序设计”的读者,输出读者姓名、性别、系部;(14)select name,Rsex,szxibufrom tb_readerwhere Rnumin(select Rnumfrom tb_borrowwhereBnum=(select Bnumfrom tb_bookwhere Bname='大学英语'))exceptselect name,Rsex,szxibufrom tb_readerwhere Rnum in(selectRnumfrom tb_borrowwhere Bnum =(select Bnumfromtb_bookwhere Bname='C++程序设计') );(17)统计借阅了2本以上图书的读者信息;select*from tb_readerwhere Rnumin(selectRnumfrom tb_borrowgroup byRnumhaving count(*)>=2);(18)查询借阅了“大学英语”一书或者借阅了“C++程序设计”一书的读者信息;(用集合查询完成)select*from tb_readerwhere Rnum in (select Rnumfrom tb_borrowwhere Bnum in(select Bnumfrom tb_bookwhere Bname in('C++程序设计','大学英语')));(19)查询既借阅了“大学英语”一书又借阅了“C++程序设计”一书的读者信息;(用集合查询完成)select *from tb_readerwhereRnum in(select Rnumfrom tb_borrowwhere tb_borrow.Bnum in(select Bnumfromtb_bookwhere Bname='大学英语')intersectselect Rnumfrom tb_borrow,tb_bookwhere tb_borrow.Bnum in(select Bnumfromtb_bookwhereBname='C++程序设计'));(20)查询计算机系中比其他系所有读者借书数量都多的读者的信息;select*from tb_readerwhere szxibu ='计算机系' and Rnuminﻩﻩﻩ(selecttb_reader.Rnumﻩfromtb_reader,tb_borrowﻩﻩﻩﻩwhere szxibu ='计算机系'and tb_reader.Rnum=tb_borrow.Rnumﻩﻩﻩgroupbytb_reader.Rnum having COUNT(*)>all ﻩﻩﻩﻩﻩ(selectCOUNT (*)ﻩﻩﻩﻩfrom tb_reader,tb_borrowﻩﻩﻩﻩwhereszxibu !='计算机系' and tb_reader.Rnum=tb_borrow.Rnumﻩﻩﻩﻩﻩﻩgroup by tb_reader.Rnum)(21)在读者信息表中插入一条新的记录(读者编号:R10011;姓名:张三;所在系:电子系);INSERTINTO tb_reader(Rnum,name,szxibu)VALUES('R10011','张三','电子系');(22)定义一个表tb_booknew,包含图书编号、书名和类别名称字段,要求将类编编号为“3”的图书的图书编号、书名和类别名称插入到tb_bknew表中;create table tb_booknew(Bnumchar(10)primary key,Bnamechar(20),Tyname char(20)insertintotb_booknewselect tb_book.Bnum,tb_book.Bname,tb_booktype.Tynamefrom tb_book,tb_booktypewhere tb_book.Tynum=tb_booktype.Tynum and tb_book.Tynum='3';(23)将类别编号为“3”的所有图书的库存数增加10;update tb_book set Knum=Knum+10 where Tynum='3'(24)将“C++程序设计”这本书的归还日期增加二个月(函数DATEADD)。