数据库SQL语言的实验

合集下载

实验二SQL语言——数据查询操作

实验二SQL语言——数据查询操作

实验二SQL语言——数据查询操作SQL (Structured Query Language) 是一种用于管理关系数据库系统的标准语言。

在数据查询操作方面,SQL 可以帮助用户从数据库中检索想要的数据,通过下面的实验,我们将深入了解 SQL 语言在数据查询操作中的应用。

一、SELECT语句SELECT语句是SQL中最常用的语句之一,它用于从数据库中选择需要查询的数据。

SELECT语句的基本语法如下:```SELECT列名1,列名2,...FROM表名;```例如,我们有一个名为 "Students" 的表,其中包含了学生的姓名、年龄和性别等信息。

要查询学生的姓名和年龄,我们可以使用以下SELECT 语句:```SELECT 姓名, 年龄 FROM Students;```二、WHERE子句WHERE子句用于在SELECT语句中添加过滤条件,只返回满足条件的数据。

下面是WHERE子句的基本语法:```SELECT列名1,列名2,...FROM表名WHERE条件;```例如,我们要查询年龄大于等于18岁的学生信息,可以使用以下SELECT语句:```SELECT * FROM Students WHERE 年龄 >= 18;```三、ORDERBY子句ORDERBY子句用于按照指定的列进行排序,可以按照升序或降序排列。

下面是ORDERBY子句的基本语法:```SELECT列名1,列名2,...FROM表名ORDERBY列名[ASC,DESC];```例如,我们要按照学生的年龄从小到大排序,可以使用以下SELECT语句:```SELECT * FROM Students ORDER BY 年龄 ASC;```四、GROUPBY子句GROUPBY子句用于将查询结果按照一个或多个列进行分组,并对每个组进行聚合操作。

下面是GROUPBY子句的基本语法:```SELECT列名1,列名2,...FROM表名GROUPBY列名1,列名2,...;```例如,我们要统计每个性别的学生人数```SELECT 性别, COUNT(*) FROM Students GROUP BY 性别;```五、HAVING子句HAVING子句用于在GROUPBY子句中添加过滤条件,只返回满足条件的分组。

实验3:使用SQL语句创建并管理数据库

实验3:使用SQL语句创建并管理数据库

序号:云南大学软件学院实验报告课程:数据库原理与实用技术实验学期:2015-2016学年第二学期任课教师:张云春专业:信息安全学号:20141120206 姓名:严鑫成绩:实验3使用SQL语句创建并管理数据库做删除或修改操作时,请注意备份数据库一、CAP数据库1、用T-SQL语句创建并管理数据库CAP:记录创建数据库的SQL语句。

CREATE DATABASE capon(name='cap',filename='d:\cap.mdf',size=5mb,maxsize=30mb,filegrowth=10%)log on(name='caplog',filename='d:\cap.ldf',size=5mb,maxsize=25mb,filegrowth=1mb)2、修改数据库:将“CAP数据库”的数据库最大容量更改为无限制(UNLIMITED),然后将“CAP数据库”的日志文件增长方式改为2MB。

记录SQL语句。

alter database capmodify file(name=cap,filename='d:\cap.mdf',maxsize=unlimited)alter database capmodify file(name=caplog,filename='d:\cap.ldf',filegrowth=2)3、用T-SQL语句在“CAP数据库”创建数据表,数据表的结构见教材。

记录创建表的SQL语句。

create table customers(cid char(10)not null,cname char(10)not null,city char(10)not null,discnt char(10)null,primary key(cid))create table agents(aid char(10)not null,aname char(10)not null,city char(10)not null,[percent]char(10)null,primary key(aid))create table products(pid char(10)not null, pname char(10)not null, city char(10)not null, quantity char(10)not null, price char(10)not null, primary key(pid))create table orders(ordno char(10)not null, [month]char(10)not null, cid char(10)not null,aid char(10)not null,pid char(10)not null,qty char(10)not null, dollars char(10)not null, primary key(ordno))4、向表中添加记录,使用Insert Into 语句分别向四张表中添加教材上的数据记录。

SQL数据库完整实验报告

SQL数据库完整实验报告

学生学号实验课成绩学生实验报告书实验课程名称企业数据库应用开课学院管理学院指导教师姓名学生姓名XXX学生专业班级人力ZY09012010 — 2011 学年第2 学期实验报告填写规范1、实验是培养学生动手能力、分析解决问题能力的重要环节;实验报告是反映实验教学水平与质量的重要依据。

为加强实验过程管理,改革实验成绩考核方法,改善实验教学效果,提高学生质量,特制定本实验报告书写规范。

2、本规范适用于管理学院实验课程。

3、每门实验课程一般会包括许多实验项目,除非常简单的验证演示性实验项目可以不写实验报告外,其他实验项目均应按本格式完成实验报告。

在课程全部实验项目完成后,应按学生姓名将各实验项目实验报告装订成册,构成该实验课程总报告,并给出实验课程成绩。

4、学生必须依据实验指导书或老师的指导,提前预习实验目的、实验基本原理及方法,了解实验内容及方法,在完成以上实验预习的前提下进行实验。

教师将在实验过程中抽查学生预习情况。

5、学生应在做完实验后三天内完成实验报告,交指导教师评阅。

6、教师应及时评阅学生的实验报告并给出各实验项目成绩,同时要认真完整保存实验报告。

在完成所有实验项目后,教师应将批改好的各项目实验报告汇总、装订,交课程承担单位(实验中心或实验室)保管存档。

附表:实验成绩考核建议观测点考核目标成绩组成实验预习1.对验证型实验,考察对实验原理与方法的预习情况2.对于综合型、设计型实验,着重考查设计方案的科学性、可行性和创新性对实验目的和基本原理的认识程度,对实验方案的设计能力20%实验过程1.是否按时参加实验2.对实验过程的熟悉程度3.对基本操作的规范程度4.对突发事件的应急处理能力5.实验原始记录的完整程度6.同学之间的团结协作精神着重考查学生的实验态度、基本操作技能;严谨的治学态度、团结协作精神30%结果分析1.所分析结果是否用原始记录数据2.计算结果是否正确3.实验结果分析是否合理4.对于综合实验,各项内容之间是否有分析、比较与判断等考查学生对实验数据处理和现象分析的能力;对专业知识的综合应用能力;事实求实的精神50%实验项目名称SQL Server的安装及操作实验者xxx 专业班级人力ZY0901同组者无实验日期2011年3月11日一、实验目的、意义1、写出SQL Server的功能与特点,使用方法,应用状况的报告。

SQL数据库实验报告 (1)

SQL数据库实验报告  (1)

资源与环境科学学院实验报告一、上机实习名称:SQL Server的安装及数据库的建立二、实验目的:1、通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。

2、熟悉对DBMS的操作3、熟悉如何使用SSMS和SQL建立数据库和表,并加深对于完整性的理解。

三、实验内容:1、根据安装文件的说明安装数据库管理系统。

2、学会启动和停止数据库服务,思考可以用哪些方式来完成启动和停止。

3、掌握管理工具的使用(1)SQL Server Management Studio的使用➢连接服务器的方法➢查询分析器的使用(2)配置管理器的使用4、了解数据库系统的逻辑组件:它们主要是数据库对象,包括基本表、视图、触发器、存储过程、约束等。

今后将学习如何操作这些数据库对象。

5.在SSMS中创建数据库和表四、实验步骤1. SQL Server 2008的体系结构和特点介绍SQL Server 是一个关系数据库管理系统。

由微软公司2008年第三季度正式发布, SQL Server 2008是一个重大的产品版本,在安全性、可用性、易管理性、可扩展性、商业智能等方面有了更多的改进和提高,对企业的数据存储和应用需求提供了更强大的支持和便利,使得它成为迄今为止最强大和最全面的SQL Server版本。

SQL Server 2008 版本体系:根据不同的用户类型和使用需求,微软公司推出了5种不同的SQL Server版本,包括企业版(Enterprise)、标准版(Standard)、工作组版(Workgroup)、学习版(Express)和移动版(Compact)Microsoft SQL Server 2008系统由4个主要部分组成。

这4个部分被称为4个服务,这些服务分别是数据库引擎、分析服务、报表服务和集成服务。

2. SQL Server管理工作室的启动打开windows控制面板—管理—服务,启动SQL Server 服务,如下图(1)开始→程序→Microsoft SQL Server 2008→SQL Server Management Studio(如图1.1所示)。

sql数据定义实验总结

sql数据定义实验总结

sql数据定义实验总结
SQL数据定义实验总结
在数据库管理系统中,SQL是一种常用的语言,用于管理和操作数据库。

SQL数据定义实验是数据库课程中的一项重要实验,通过该实验,可以让学生了解SQL语言的基本语法和数据定义操作。

在SQL数据定义实验中,我们需要掌握以下几个方面的内容:
1. 数据库的创建和删除:通过CREATE DATABASE和DROP DATABASE语句可以创建和删除数据库。

2. 表的创建和删除:通过CREATE TABLE和DROP TABLE语句可以创建和删除表。

3. 列的定义和修改:通过ALTER TABLE语句可以添加、修改和删除表的列。

4. 约束的定义和修改:通过CREATE TABLE和ALTER TABLE语句可以定义和修改表的约束,如主键、外键、唯一性约束等。

5. 索引的定义和删除:通过CREATE INDEX和DROP INDEX语句可以创建和删除索引。

在实验中,我们需要根据实验要求,编写相应的SQL语句,对数据库进行操作。

在编写SQL语句时,需要注意语法的正确性和逻辑
的合理性,避免出现错误和不必要的操作。

通过SQL数据定义实验,我们可以深入了解SQL语言的基本语法和数据定义操作,掌握数据库的创建、表的创建和修改、约束的定义和修改、索引的定义和删除等操作,为以后的数据库开发和管理打下坚实的基础。

同时,实验也提高了我们的实际操作能力和解决问题的能力,为我们的职业发展打下了良好的基础。

SQL实验二:数据库查询实验报告

SQL实验二:数据库查询实验报告

实验二数据库的查询实验实验目的和要求(1)掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。

(2)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。

(3)熟练掌握数据查询中的分组、统计、计算和组合的操作方法。

实验内容和原理在实验一定义的“学生成绩数据库”中,使用T-SQL 语句完成以下查询:(1 )求计算机系学生的学号和姓名。

(2)求选修了数学的学生学号、姓名和成绩。

(3)求选修01 课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。

(4)查找选修课程的平均成绩位于前三名的学生的学号。

(5)查询计算机系的姓刘且单名的学生的信息。

(6)查询至少选修两门课程的学生学号。

(7)查询学生的学号、课程号以及对应成绩与所有学生所有课程的最高成绩的百分比。

(8)查询选修“数据库”课程,且成绩在80 分以上的学生的学号和成绩。

(9)查询所有姓“王”的同学没有选修的课程名。

(请分别用exists和in完成该查询) (10)查询选修了全部课程的学生的姓名。

(请至少写出两种查询语句)(11)求选修了学生“ 95001”所选修的全部课程的学生学号和姓名。

(12)查询每一门课的间接先修课。

(13)列出所有学生所有可能的选课情况。

(14)列出每个学生的学号及选修课程号,没有选修的学生的学号也一并列出。

(15)输出与“张三”同性别并位于同一个系的所有同学的姓名。

(请至少写出两种查询语句)(16)查询至少被两名男生选修的课程名。

(17)对被两名以上学生所选修的课程统计每门课的选课人数。

要求输出课程号和选修人数,查询结果按人数降序排列;若人数相同,按课程号升序排列。

(18)列出选修课程超过 3 门的学生姓名及选修门数。

(19)检索至少选修课程号为01 和03 的学生姓名。

(20)检索至少选修课程“数学”和“操作系统”的学生学号。

(21 )查询‘操作系统'课程的最高分的学生的姓名、性别、所在系(22)查询数据结构的成绩低于操作系统的成绩的学生姓名及该生的这两门课的成绩(23)所有成绩都在70 分以上的学生姓名及所在系。

数据库实验报告

数据库实验报告

实验(一): 熟练掌握SQL语言实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。

实验内容:具体包括如下三部分。

一、熟悉上机环境。

客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。

具体包括:1.了解SQL Server 环境。

鼠标点击开始,进入“Microsoft SQL Server→企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。

点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。

因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。

2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户名和口令,进入SQL查询分析器。

如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。

3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。

二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。

1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的关系模式CREA TE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREA TE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );CREA TE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) );4在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。

数据库实验报告(SQL)

数据库实验报告(SQL)

四川师范大学计算机学院实验报告册院系名称:计算机科学学院课程名称:数据库原理概论实验学期2013 年至2014 年第二学期专业班级:网络工程3班姓名:学号:指导教师:**实验最终成绩:《数据库原理》实验大纲课程总学时:64学分:2实验学时:32 实验个数: 7 实验学分: 1课程性质:(专业必修)适用专业:计算机软件工程,计算机科学技术,网络工程,电子商务教材及参考书:数据库系统概论大纲执笔人:俞晓大纲审定人:一、实验课的性质与任务数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。

本实验课程主要是在SQL SERVER 下实现SQL语言的基本操作:建立、修改、删除表格等数据库对象,插入、修改、删除表格中的数据,对数据做多种查询。

并熟悉使用SQL SERVER的系统工具创建数据库,用户等。

最后用VB连接SQL SERVER 做一个简单的数据库系统。

该课程注重教学体系的严密性、教学内容的实用性、知识体系的扩展性。

通过练习,提高学生的动手能力,使学生能较熟练的在SQL SERVER 数据库管理系统中实现数据管理和维护。

二、实验课程目的与要求1.实验目的:本课程的目的和任务是使学生全面地了解和掌握数据库的原理,SQL SERVER系统的基本操作和应用技术,以适应社会对数据库技术应用的大量需求。

2.实验要求:1)实验安排在上机时间进行。

2)实验以前,学生应对实验设计的相关知识点和相关设计技术有所了解3)每个实验要求写出实验报告(实验报告包括:实验内容、目的、实现方法、调试结果)四、实验内容安排:实验1 熟悉SQL SERVER的环境(操作性实验2学时)实验目的了解SQL Server数据库的各个工具软件实验内容使用SQL Server的相关工具,其中包括查询分析器和企业管理器,在查询分析器里写简单的SQL语句,在企业管理器中建立表格等。

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

北华航天工业学院《数据库原理与应用》实验报告报告题目:SQL语言作者所在系部:计算机系作者所在专业:网络工程作者学号:20114052233作者姓名:张旭刚指导教师姓名:李建义完成时间:2013 4.24北华航天工业学院教务处制SQL语言一、实验目的1、理解数据库以及数据表的设计;2、熟悉SQL Server2005中的数据类型;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)图书类别信息表(2)图书信息表对以上数据表,完成以下操作:(1)查询每本图书的所有信息;(2)查询每个读者的读者编号、姓名和班级;(3)查询每条借阅记录的借阅天数(函数DATEDIFF获取两个日期的差);(4)查询被借阅过的图书的图书编号;(5)查询图书编号为“10006”的书名和作者;(6)查询库存数在5到10本之间的图书的图书编号和书名;(7)查询计算机系或电子系姓张的读者信息;(8)查询书名包括“英语”的图书信息;(9)统计男读者、女读者的人数;(10)统计各类图书的类别编号、平均定价以及库存总数;(11)统计每本书籍借阅的人数,要求输出图书编号和所借人数,查询结果按人数降序排列;(12)查询有库存的各类别图书的类别编号、类别名称和借阅数量;(13)查询借阅了“大学英语”一书的读者,输出读者姓名、性别、系部;(14)查询每个读者的读者编号、姓名、所借图书编号以及所借阅日期;(LEFT OUTER JOIN)(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)from tb_borrow;(4)查询被借阅过的图书的图书编号;select Bnumfrom tb_borrow;(5)查询图书编号为“10006”的书名和作者;select Bname,writerfrom tb_bookwhere Bnum='10006';(6)查询库存数在5到10本之间的图书的图书编号和书名;select Bnum,Bnamefrom tb_bookwhere Knum between 5 and 10;(7)查询计算机系或电子系姓张的读者信息;select *from tb_readerwhere (name like '张%'and szxibu='计算机系')or( name like '张%'and szxibu='电子系');(6) (7)(8)查询书名包括“英语”的图书信息;select *from tb_bookwhere Bname like '%英语%';(9)统计男读者、女读者的人数;select Rsex,'num'=count(*)from tb_readergroup by Rsex;(10)统计各类图书的类别编号、平均定价以及库存总数;select Tynum,'Average price'=A VG(price),'Bookstore'=SUM(Knum)from tb_bookgroup by Tynum;(11)统计每本书籍借阅的人数,要求输出图书编号和所借人数,查询结果按人数降序排列;select Bnum,'num'=COUNT(Rnum)rom tb_borrowgroup by Bnumorder by num desc;(12)查询有库存的各类别图书的类别编号、类别名称和借阅数量;select tb_booktype.Tynum,tb_booktype.Tyname,'quantity'=COUNT(*)from tb_book,tb_booktype,tb_borrowwhere tb_book.Knum>0 and tb_book.Tynum=tb_booktype.Tynum and tb_book.Bnum =tb_borrow.Bnumgroup by tb_booktype.Tynum,tb_booktype.Tyname;(13)查询借阅了“大学英语”一书的读者,输出读者姓名、性别、系部;select name,Rsex,szxibufrom tb_readerwhere Rnum in( select Rnumfrom tb_borrowwhere Bnum=(select Bnumfrom tb_bookwhere Bname='大学英语'));(14)查询每个读者的读者编号、姓名、所借图书编号以及所借阅日期;(LEFT OUTER JOIN)select tb_reader.Rnum,tb_,Bnum, Bodatafrom tb_reader LEFT OUTER JOIN tb_borrow on(tb_reader.Rnum=tb_borrow.Rnum); (见下页)(15)查询现有图书中价格最高的图书,输出书名、作者、定价;select Bname,writer,pricefrom tb_bookwhere price=(select MAX(price)from tb_book);(16)查询借阅了“大学英语”但没有借阅“C++程序设计”的读者,输出读者姓名、性别、系部;(14)select name,Rsex,szxibufrom tb_readerwhere Rnum in(select Rnumfrom tb_borrowwhere Bnum =(select Bnumfrom tb_bookwhere Bname='大学英语'))exceptselect name,Rsex,szxibufrom tb_readerwhere Rnum in(select Rnumfrom tb_borrowwhere Bnum =(select Bnumfrom tb_bookwhere Bname='C++程序设计'));(17)统计借阅了2本以上图书的读者信息;select *from tb_readerwhere Rnum in(select Rnumfrom tb_borrowgroup by Rnumhaving 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_readerwhere Rnum in (select Rnumfrom tb_borrowwhere tb_borrow.Bnum in(select Bnumfrom tb_bookwhere Bname='大学英语')intersectselect Rnumfrom tb_borrow,tb_bookwhere tb_borrow.Bnum in(select Bnumfrom tb_bookwhere Bname='C++程序设计'));(20)查询计算机系中比其他系所有读者借书数量都多的读者的信息;select *from tb_readerwhere szxibu ='计算机系' and Rnum in(select tb_reader.Rnumfrom tb_reader,tb_borrowwhere szxibu ='计算机系' and tb_reader.Rnum=tb_borrow.Rnumgroup by tb_reader.Rnum having COUNT(*)>all(select COUNT (*)from tb_reader,tb_borrowwhere szxibu !='计算机系' and tb_reader.Rnum=tb_borrow.Rnumgroup by tb_reader.Rnum) (21)在读者信息表中插入一条新的记录(读者编号:R10011;姓名:张三;所在系:电子系);INSERTINTO tb_reader(Rnum,name,szxibu)V ALUES('R10011','张三','电子系');(22)定义一个表tb_booknew,包含图书编号、书名和类别名称字段,要求将类编编号为“3”的图书的图书编号、书名和类别名称插入到tb_bknew表中;create table tb_booknew(Bnum char(10) primary key,Bname char(20),Tyname char(20)insert into tb_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)。

相关文档
最新文档