数据库系统原理与设计实验教程实验1

合集下载

南邮数据库基础教程实验报告

南邮数据库基础教程实验报告

实验报告〔201 5 / 201 6 学年第二学期〕课程名称数据库系统与设计实验名称数据库系统程序设计与分析实验时间201 6年6月3/17/22/24 日指导单位指导教师学生班级学号学院(系) 电脑学院专业实验报告实验报告insert into PC values(1010,,2048,300,770);insert into PC values(1011,,2048,160,959);insert into PC values(1012,,1024,160,649);insert into PC values(1013,,512,80,529);insert into Laptop values(2001,,2048,240,,3673);insert into Laptop values(2002,,1024,80,,949);insert into Laptop values(2003,,512,60,,549);insert into Laptop values(2004,,512,60,,1150);insert into Laptop values(2005,,1024,120,,2500);insert into Laptop values(2006,,2048,80,,1700);insert into Laptop values(2007,,1024,120,,1429);insert into Laptop values(2008,,1024,100,,900);insert into Laptop values(2009,,512,80,,680);insert into Laptop values(2010,,2048,160,,2300);insert into Printer values(3001,'true','ink_jet',99); insert into Printer values(3002,'false','laster',239); insert into Printer values(3003,'true','laster',899); insert into Printer values(3004,'true','ink_jet',120); insert into Printer values(3005,'false','laster',120);insert into Printer values(3006,'true','ink_jet',100); insert into Printer values(3007,'true','laster',200);insert into Product values('A',1001,'pc');insert into Product values('A',1002,'pc');insert into Product values('A',1003,'pc');insert into Product values('A',2004,'laptop');insert into Product values('A',2005,'laptop');insert into Product values('A',2006,'laptop');insert into Product values('B',1004,'pc');insert into Product values('B',1005,'pc');insert into Product values('B',1006,'pc');insert into Product values('B',2007,'laptop');insert into Product values('C',1007,'pc');insert into Product values('D',1008,'pc');insert into Product values('D',1009,'pc');insert into Product values('D',1010,'pc')insert into Product values('D',3004,'printer');insert into Product values('D',3005,'printer');insert into Product values('E',1011,'pc');insert into Product values('E',1012,'pc');insert into Product values('E',1013,'pc');insert into Product values('E',2001,'laptop');insert into Product values('E',2002,'laptop');insert into Product values('E',2003,'laptop');insert into Product values('E',3001,'printer');insert into Product values('E',3002,'printer');insert into Product values('E',3003,'printer');insert into Product values('F',2008,'laptop');insert into Product values('F',2009,'laptop');insert into Product values('G',2010,'laptop')insert into Product values('H',3006,'printer');insert into Product values('H',3007,'printer');实验二A〕SELECT maker,speedFrom Product,Laptopwhere Laptop.hd>=30 AND Laptop.model=Product.modelB〕SELECT Product.model,priceFrom Product,PCWhere Product.maker='B'AND Product.model=PC.model UNIONSELECT Product.model,priceFrom Product,LaptopWhere Product.maker='B'AND Product.model=Laptop.model UNIONSELECT Product.model,priceFROM Product,PrinterWHERE Product.maker='B'AND Product.model=Printer.modelC〕SELECT makerFrom Product PWhere P.type='laptop'EXCEPTSELECT makerFrom Product PWhere P.type='pc'D〕SELECT DISTINCT p.hdFROM PC p,PC qWHERE q.hd=p.hd AND p.model>q.modelE〕SELECT p.model AS MODEL1,q.model AS MODEL2FROM PC p,PC qWHERE p.speed=q.speed AND p.ram=q.ram AND p.model>q.modelF〕SELECT p.makerFROM (SELECT E.maker,F.modelFROM Product E,PC FWHERE F.speed> 3.0 AND E.model=F.modelUNIONSELECT G.maker,H.modelFROM Product G,Laptop HWHERE H.speed> 3.0 AND G.model=H.model)pGROUP BY p.makerHAVING COUNT(p.model)>= 2实验三A〕SELECT makerFROM Product,(SELECT modelFROM PCWHERE PC.speed>)pWHERE Product.model=p.modelSELECT makerFROM Product JOIN PCON Product.model=PC.modelWHERE speed>B〕SELECT p.priceFROM Printer pWHERE p.price>=ALL(SELECT priceFROM Printer)SELECT MAX(price)AS price FROM PrinterC〕SELECT p.modelFROM Laptop pWHERE p.speed<=(SELECT MIN(speed)FROM PC)SELECT p.modelFROM Laptop pWHERE p.speed<=ALL(SELECT speedFROM PC)D〕SELECT p.modelFROM (SELECT model,priceFROM PCUNIONSELECT model,priceFROM LaptopUNIONSELECT model,priceFROM Printer)pWHERE p.price>=ALL(SELECT priceFROM PCUNIONSELECT priceFROM LaptopUNIONSELECT priceFROM Printer)E〕SELECT makerFROM ProductWHERE model=(SELECT modelFROM PrinterWHERE price=(SELECT MIN(price)AS priceFROM Printer))SELECT p.makerFROM Product p,Printer qWHERE p.model=q.model AND q.price<=ALL(SELECT priceFROM Printer)F〕SELECT makerFROM Product p,PC qWHERE p.model=q.modelAND q.ram<=ALL(SELECT ramFROM PC)AND q.speed>=ALL(SELECT speedFROM PC)实验四A〕SELECT AVG(speed)AS AVGSPEEDFROM PCB〕SELECT AVG(speed)AS AVGSPEEDFROM PCWHERE price> 1000C〕SELECT AVG(price)AS AVGPRICEFROM PCWHERE model IN(SELECT modelFROM ProductWHERE maker='A')D〕SELECT AVG(p.price)AS AVGPRICEFROM (SELECT model,priceFROM PCUNIONSELECT model,priceFROM Laptop)pWHERE p.model IN(SELECT modelFROM ProductWHERE maker='D')E〕SELECT speed,AVG(price)AS AVGPRICEFROM PCGROUP BY speedF〕SELECT maker,AVG(screen)AS AVGSCREENFROM Product p JOIN Laptop q ON p.model=q.model GROUP BY makerG〕SELECT makerFROM ProductWHERE type='PC'GROUP BY makerHAVING COUNT(model)>= 3H〕SELECT maker,MAX(price)AS MAXPRICEFROM Product p JOIN PC q ON p.model=q.model GROUP BY makerI〕SELECT speed,AVG(price)AS AVGPRICEFROM PCWhere speed>GROUP BY speedJ〕SELECT AVG(hd)AS AVGHDFROM Product p JOIN PC q ON p.model=q.model WHERE maker IN(SELECT makerFROM ProductWhere type='Printer')实验报告。

sql server数据库应用与实践教程(第2版) 实验文档

sql server数据库应用与实践教程(第2版) 实验文档

以下是一个基本的SQL Server数据库应用与实践教程(第2版)实验文档的大纲示例,具体内容可能会根据实际教材和实验要求有所不同:实验一:SQL Server的安装和配置1. 实验目标:理解并掌握SQL Server的安装过程和基本配置。

2. 实验环境:Windows操作系统,SQL Server安装介质。

3. 实验步骤:准备安装环境。

运行SQL Server安装程序。

选择安装类型和功能。

设置服务器配置(如实例名称、账户、密码等)。

完成安装并验证安装结果。

4. 实验问题与思考:如何根据实际需求选择合适的安装选项?实验二:SQL Server Management Studio的使用1. 实验目标:熟悉SQL Server Management Studio(SSMS)的界面和基本操作。

2. 实验环境:已安装SQL Server的计算机,SSMS软件。

3. 实验步骤:启动SSMS并连接到SQL Server实例。

浏览对象资源管理器中的服务器对象。

创建新的数据库和表。

插入、查询、更新和删除数据。

使用Transact-SQL编写和执行简单查询。

4. 实验问题与思考:如何利用SSMS提高数据库管理的效率?实验三:数据库设计与ER图1. 实验目标:学习并实践数据库设计的基本原则和方法。

2. 实验环境:数据库设计工具(如Visio、PowerDesigner等)。

3. 实验步骤:确定业务需求和数据实体。

设计实体关系图(ER图)。

将ER图转换为数据库模型。

根据数据库模型创建实际的数据库和表。

4. 实验问题与思考:如何处理数据库设计中的冗余和异常情况?实验四:事务与并发控制1. 实验目标:理解事务的概念和作用,掌握并发控制的方法。

2. 实验环境:SQL Server实例,多用户环境。

3. 实验步骤:创建并执行包含多个操作的事务。

观察事务的ACID特性(原子性、一致性、隔离性和持久性)。

探讨并发访问可能导致的问题(如脏读、不可重复读、幻读)。

数据库系统实验报告4(简单图书馆管理数据库的实现)

数据库系统实验报告4(简单图书馆管理数据库的实现)

6
图书信息表:
2.还书后: 借阅信息表:
图书信息表:
备注: 1、表头及以下的栏目和内容,不得更改;其它栏目的位置可以适当调整,可以根据需要适当增加或减少 页。 2、本课程包含多次实验,请每次实验项目填写一份。
7
2
利用 sf_borrow,sf_return 进行借、还操作,并注意数据库中三个表的数据变化情况。 三、实验结果及分析 (一)创建数据库和数据表: 选择用企业管理器创建数据库、数据表
3
(二)数据相关操作: 1.查询:
2.删除:
4
删除后:
3.更新:
更新后:
(三)创建触发器、存储过程进行借还书操作: 1.针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 0。 CREATE TRIGGER Insert_borrow ON dbo.借阅信息表 FOR INSERT AS begin update 图书信息表 set 状态=0 from Inserted i,图书信息表 t where t.书号=i.书号 end 2.针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 1。
作者 sql c++ ms java c# net
状态 1 1 1 1 1 1
借书证号 1 2 3
姓名 张三 李四 王五
住址 学三 学四 学五
并对这两个表进行删除、更新、和查询等操作 三、创建触发器、和存储过程进行借、还书操作 1) 针对借阅信息表的插入操作创建触发器,当借阅信息表进行插入操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 0。 2) 针对借阅信息表的删除操作创建触发器,当借阅信息表进行删除操作时,自动根据书号,将图 书信息表相应记录的“状态”字段改为 1。 3) 创建存储过程:sf_borrow,实现借书功能即:向借阅信息表进行插入操作,将书号、借书证 号,借书时间作为参数,并自动的将还书时间设置为借书时间后一个月。 4) 创建存储过程:sf_return,现实还书功能即:根据书号对借阅信息表进行删除操作,将书号 作为参数。

“数据库系统原理”课程教材建设与教学改革

“数据库系统原理”课程教材建设与教学改革

“数据库系统原理”课程教材建设与教学改革摘要:本文介绍“数据库系统原理”课程的目标与体系,给出自编教材《数据库系统原理与设计》及其配套实验教材《数据库系统原理与设计实验教程》的内容与结构安排,分析教材的主要特色,包括重视数据库模式导航、数据库设计、数据库管理系统和数据库应用开发等,并对该课程教学过程中开展的大作业教学改革进行了探讨。

关键词:数据库系统原理;教材建设;大作业教学数据库系统是计算机系统的重要组成部分,是企业、机构、互联网乃至整个信息社会赖以运转的基础,在当今信息社会中扮演着越来越重要的角色。

正是由于数据库具有重要的基础地位,数据库理论与技术教育已成为现代计算机科学和相关学科教育中的核心部分,所有计算机相关专业的学生都有必要掌握和熟悉数据库理论与技术。

通过多年的数据库课程教学,我们发现学生在学习了数据库课程之后,仍然不会“用”数据库——不会设计数据库,不会管理数据库,不会开发数据库应用程序。

带着这些问题,我们进行了一系列数据库课程教学改革探索与实践,并取得了一定的成绩。

如我校的“数据库系统及应用”于2007年立项为国家精品课程;清华大学出版社于2009年出版了我们的研究成果——《数据库系统原理与设计》及其配套实验教材《数据库系统原理与设计实验教程》。

本文主要对“数据库系统原理”课程目标及课程体系,出版教材的内容、结构及特色,大作业教学改革等方面进行分析与探讨。

1课程目标与课程体系1.1目标我校“数据库系统原理”课程教学主要面向计算机科学与技术专业、信息管理与信息系统专业的本科生。

根据由教育部高等学校计算机科学与技术教学指导委员会最新编制的《高等学校计算机科学与技术专业核心课程教学实施方案》中数据库教学实施方案的分类(科学型、工程型和应用型),并结合我校培养特色,我们主要培养应用型复合性人才。

该课程强调理论与实践相结合,主要培养目标为:(1) 培养学生具有较强的数据抽象和数据建模能力,能够深刻理解不同数据模型的特点和适用范围,并具备利用某种数据模型构建实际应用逻辑模型的能力;(2) 培养学生具有一定的系统分析与设计能力,能够理解数据库系统的体系结构和系统组成,能对数据库管理系统的实现原理进行简单分析;(3) 培养学生具有较强的数据库设计和应用开发能力,能够灵活运用一种数据库语言及应用开发工具解决实际应用问题;(4) 培养学生自主学习能力、创新能力和团队协作精神,从应用中发现问题、提出问题、分析问题和解决问题的能力——问题求解能力;(5) 培养学生使用和维护数据库能力,能够在掌握数据库基本原理的基础上,掌握一种主流数据库管理系统的使用和维护方法。

数据库原理与技术实验报告

数据库原理与技术实验报告

数据库原理与技术实验报告
一、实验目的
本次实验的主要目的是了解和学习数据库原理与技术,具体要求是:
1.熟悉数据库系统的基本概念;
2.理解数据库管理系统(DBMS)的核心功能;
3.掌握数据库系统的创建,维护和应用技术;
4.掌握基于SQL查询语言(SQL)的SQL语句的使用;
5.学习SQL语言的基本知识;
6.学习和应用数据库的实用技术;
7.掌握数据库的安全保护技术;
8.熟悉数据的事务处理;
9.掌握数据的并发控制等。

二、实验环境
本次实验所使用的系统环境为Oracle Database,版本为11g。

三、实验内容
1.概念部分:
(1)数据库概念:数据库概念主要是指数据库的概念、特点、应用领域、数据库结构与模式等;
(2)数据库管理系统:数据库管理系统(DBMS)是一种综合的数据管理软件,它有助于保护组织内的数据,并帮助实现全面的数据管理;
(3)数据库应用:数据库应用是一种以数据库管理系统为基础的应用程序,它主要是用来收集、组织、存储、操作和检索数据,以满足组织内的信息需要;
(4)SQL查询语言:SQL查询语言(SQL)是一种关系型数据库管理系统的标准化数据库查询语言。

数据库编程实验报告

数据库编程实验报告
2、先创建数据库和数据表,再创建数据库应用程序。
三、实验过程:
1、编写计算器程序(窗体应运程序)代码。
专业班级:姓名:学号实验日期:
专业班级:姓名:学号:实验日期:
专业班级:姓名中输入4+2=结果如左下:(2)在计算器中输入5*—结果如右下:
(3)在计算器中输入6/0=结果如下图:
实验报告
课程名称:C#程序设计教程
实验名称:数据库编程
一、实验目的:
第一、熟练掌握各种异常捕获和处理的方法以及它们之间的区别与联系,能够根据实际情况自定义满足需要的异常。第二、熟练掌握使用对象实现对数据库进行访问和操作的方法,具备开发数据库应用程序的能力。
二、实验内容:
1、编写一个能够进行加、减、乘、除运算的计算器的计算器程序(窗体应运程序),并能够处理可能产生的异常。
上学期就学过了创建数据库和创建表,这学期学的结合了程序设计的数据库应用程序的开发。通过本次实验对数据库应用程序的开发有了个初步的了解。
专业班级:姓名:学号:实验日期:
(2)打开表设计窗口,键入列名、数据类型、长度等属性,单击保存按钮。关闭表设计窗口,完成表的创建。
(3)右键单击“student”表选中“打开表”—>“返回所有行”,可在出现的表中输入数据,如下图所示
专业班级:姓名:学号:实验日期:
(4)打开SQL Server 2008,单击“文件”,—>新建项目—>Windows窗体应用程序。在窗体上添加一个DataGridView控件和一个Button控件,适当调整大小和位置,并设置其Text属性。将Button控件的Text属性设置为“浏览数据”,双击“浏览数据”按钮,编写如下代码。
(5)单击运行即可,在运行的窗体中单击“浏览数据”按钮就可以显示之前建立的表的数据。

数据库设计方法与步骤

数据库设计方法与步骤
数据库原理与SQL Server教程 2018年10月14日星
9.2.3 逻辑结构设计
逻辑结构设计一般分为三部分:
1.概念结构向关系模型的转换 2.关系模型的优化 3.设计用户子模式
数据库原理与SQL Server教程
2018年10月14日星型的转换
在概念结构向关系模型转换需要有一定的原 则和方法指导,一般而言原则如下: (1)每个实体都有表与之对应,实体的属性转换成 表的属性,实体的主键转换成表的主键。 (2)联的系转换
9.2.3 逻辑结构设计
2.关系模型的优化 对概念结构转换具体步骤:
(1)确定每个关系模式内部各个属性之间的数据依赖以及 不同关系模式属性之间的数据依赖。 (2)对各个关系模式之间的数据依赖进行最小化处理,消 除冗余的联系。 (3)确定各关系模式的范式等级。 (4)按照需求分析阶段得到的处理要求,确定要对哪些模 式进行合并或分解。 (5)为了提高数据操作的效率和存储空间的利用率,对上 述产生的关系模式进行适当地修改、调整和重构。
2018年10月14日星
9.1 数据库设计的目的、意义及内容
1.结构特性设计 结构特性设计是指数据库模式或数 据库结构设计,应该具有最小冗余的、 能满足不同用户数据需求的、能实现数 据共享的系统。数据库结构特性是静态 的,数据库结构设计完成后,一般不再 变动,但由于客户需求变更的必须然性 ,在设计时应考虑数据库变更的扩充余 地,确保系统的成功。
第九章 数据库设计方法与步骤
9.1 数据库设计的目的、意义及内容 9.2 数据库系统设计方法及步骤 实训9 数据库设计

数据库原理与SQL Server教程
2018年10月14日星
9.1 数据库设计的目的、意义及内容

《数据库系统原理》实验指导书

《数据库系统原理》实验指导书

《数据库系统原理》实验指导书《数据库系统原理》实验指导书实验1 熟悉SQL Server 2000环境及数据库⽂件管理⼀、实验⽬的1、掌握登录SQL Server 2000的⽅法,熟悉SQL Server实⽤⼯具的使⽤;2、了解SQL Serve数据库的存储结构,掌握估算数据库⼤⼩技术;3、掌握创建数据库技术,掌握扩⼤和压缩数据库技术;4、掌握使⽤企业管理器⼯具和T-SQL语句及系统存储过程对数据库进⾏管理。

⼆、实验要求1、熟悉SQL Server 2000的⼯作环境,了解SQL Server主要管理⼯具的⽤途和使⽤⽅法。

2、掌握在SQL Server 2000环境下,利⽤企业管理器和T-SQL语⾔创建和管理数据库的⽅法。

三、实验设备、环境设备:奔腾II或奔腾II以上计算机环境:WINDOWS 98或WINDOWS NT、SQL SERVER 2000中⽂版四、实验原理、⽅法上机操作五、实验步骤及内容(⼀)实验步骤1、教师讲授2、教师演⽰3、学⽣实际操作(⼆)实验内容1、熟悉SQL Server 2000管理⼯具(1)企业管理器(Enterprise Manager)(2)查询分析器(Query Analyzer)(3)服务管理器(Service Manager)(4)事件探查器(Profiler)(5)导⼊和导出数据(Import and Export Data)(6)SQL Server其他管理⼯具2、数据库⽂件管理(1)数据库的创建和删除。

①在企业管理器中建⽴⼀个图书读者库。

图书读者数据库中将包括⼀个数据⽂件和⼀个⽇志⽂件,各⽂件的属性见表1-1。

②删除上题所建的数据库然后⽤T-SQL语句重新创建。

(2)修改数据库①查看图书读者数据库的属性及数据⽂件和⽇志⽂件的空间使⽤情况。

②在企业管理器中,⾸先扩⼤图书读者数据库的主数据⽂件的⼤⼩,然后查看扩⼤后的数据库属性,接着收缩主数据⽂件到定义时的⼤⼩。

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

数据库系统原理与设计实验教程实验1实验一简单查询在订单数据库中,完成如下的查询:(1) 查询所有业务部门的员工姓名、职称、薪水。

select employeeName,headShip,salaryfrom employeewhere department='业务科'(2) 查询名字中含有“有限”的客户姓名和所在地。

select CustomerName,addressfrom Customerwhere CustomerName like '%有限%'(3) 查询出姓“王”并且姓名的最后一个字为“成”的员工。

select *from employeewhere employeeName like '王%成'没有结果(4) 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示。

selectemployeeName,department,headship,address,sex= Case sexwhen 'M'then '男'when 'F'then '女'endfrom employeewhere address like'%上海%' or address like '%南昌%' and sex='F'(5) 在订单明细表OrderDetail中挑出销售金额大于等于10000元的订单。

select orderNofrom OrderDetailgroup by orderNohaving sum(quantity*price)>=10000(6) 选取订单金额最高的前10%的订单数据。

SELECT TOP 10 PERCENT orderNoFROM OrderdetailGROUP BY orderNoORDER BY sum(quantity*price) DESC(7) 查询出职务为“职员”或职务为“科长”的女员工的信息。

select *from employeewhere (headship='职员' or headship='科长') and sex='F'(8) 查找定单金额高于8000的所有客户编号。

1)查询总金额高于8000元的客户编号select CustomerNofrom OrderMaster a,Orderdetail bwhere a.orderNo=b.orderNogroup by CustomerNohaving sum(quantity*price)>80002)查找定单金额高于8000的所有客户编号select CustomerNofrom OrderMasterwhere orderNo in ( select orderNofrom OrderDetailgroup by orderNohavingsum(quantity*price)>8000 )(9) 选取编号界于“C20050001”和“C20050004”的客户编号、客户名称、客户地址。

select CustomerNo,CustomerName,addressfrom Customerwhere CustomerNo between 'C20050001' and 'C20050004'(11) 找出同一天进入公司服务的员工。

Selecta.employeeNo,a.employeeName,b.employeeNo,b.employeeNamefrom Employee a,Employee as bwhere a.employeeNo!=b.employeeNo anda.employeeName>b.employeeNameand (a.hireDate=b.hireDate)(12) 在订单主表中查询订单金额大于“E2005002业务员在2008-1-9这天所接的任一张订单的金额”的所有订单信息。

1)首先计算订单主表的订单金额update OrderMaster set orderSum=totalSumfrom OrderMaster a,(select orderNo,sum(quantity*price) totalSumfrom OrderDetailgroup by orderNo) bwhere a.orderNO=b.orderNo2)SELECT *FROM OrderMasterWHERE orderSum>any(SELECT orderSumFROM OrderMasterWHERE salerNo='E2005002' AND orderDate='20080109' )(13) 查询既订购了“52倍速光驱”商品,又订购了“17寸显示器”商品的客户编号、订单编号和订单金额。

Select customerNo,orderNo,orderSumfrom OrderMasterwhere customerNo in(select customerNofrom OrderMaster a,OrderDetail b,Product cwhere a.orderNo=b.orderNo and b.productNo=c.productNo andproductName='52倍速光驱') and customerNo in(select customerNofrom OrderMaster a,OrderDetail b,Product cwherea.orderNo=b.orderNo andb.productNo=c.productNo andproductName='17寸显示器')(14) 查找与“陈诗杰”在同一个单位工作的员工姓名、性别、部门和职务。

Selectb.employeeName,b.sex,b.department,b.headS hipfrom Employee a,Employee bwhere a.department=b.department and a.employeeName='陈诗杰'(15) 查询每种商品的商品编号、商品名称、订货数量和订货单价。

SELECTa.productNo,productName,quantity,priceFROM Product a, OrderDetail bWHERE a.productNo=b.productNoORDER BY productName,price(16) 查询单价高于400元的商品编号、商品名称、订货数量和订货单价。

SELECTa.productNo,productName,quantity,priceFROM Product a, OrderDetail bWHERE a.productNo=b.productNo AND price>400ORDER BY productName(17) 分别使用左外连接、右外连接、完整外部连接查询单价高于400元的商品编号、商品名称、订货数量和订货单价,并分析比较检索的结果。

左外连接命令:SELECTa.productNo,productName,quantity,priceFROM Product a LEFT OUTER JOIN OrderDetail bON a.productNo=b.productNo WHERE price>400, b.quantity,b.priceFrom OrderDetail As b left JOIN Product As aON (a.productNo=b.productNo)and price>400Order by a.productNo右外连接命令:SELECTa.productNo,productName,quantity,priceFROM Product a RIGHT OUTER JOIN OrderDetail bON a.productNo=b.productNo WHERE price>400Select a.productNo , a.productName , b.quantity,b.priceFrom OrderDetail As b RIGHT JOIN Product As aON (a.productNo=b.productNo)and price>400Order by a.productNo全连接命令:SELECTa.productNo,productName,quantity,priceFROM Product a FULL OUTER JOINOrderDetail bON a.productNo=b.productNo WHERE price>400Select a.productNo , a.productName , b.quantity,b.priceFrom OrderDetail As b full JOIN Product As aON (a.productNo=b.productNo)and price>400Order by a.productNo(18)分别使用左外连接、右外连接、完整外部连接查询客户编号、客户名称、订货金额和订单编号,并分析比较检索的结果。

SELECTa.customerNo,customerName,orderSum,orderN oFROM Customer a left OUTER JOIN OrderMaster bON a.customerNo=b.customerNoSELECTa.customerNo,customerName,orderSum,orderN oFROM Customer a right OUTER JOIN OrderMaster bON a.customerNo=b.customerNoSELECTa.customerNo,customerName,orderSum,orderN oFROM Customer a full OUTER JOIN OrderMaster bON a.customerNo=b.customerNo从上述结果可知:若表a和表b做外连接,且b表是外码表,则a和b表左外连接可能会出现空值,但是右连接一定不会出现空值,全外连接与左外连接一样的结果。

相关文档
最新文档