SQL Server数据库实践教程 实验报告 实验10-多种方式多表查询.doc

SQL Server数据库实践教程 实验报告 实验10-多种方式多表查询.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

数据库实验报告

实验名称

实验10多种方式多表查询

实验日期

班级

学号

姓名

实验报告要求:1.实验目的2.实验内容3.实验步骤4.实验小结

一、实验目的

熟悉用SQL语句编写集合查询、基于派生表、连接查询、嵌套查询等多表查询语句。

实验内容

销售数据库中有四张表:员工表、商品表、客户表和订单表。表结构如表2-4~表2-7所示:

表2-4员工表

表名:Employee+你的姓名简拼

字段名称

类型宽度

约束

字段说明

EID

int

notnull主键

员工号

EName

varchar(50)

notnull

员工姓名

Sex

char(2)

notnull,约束为‘男’或‘女’

性别

HireDate

smalldatetime

?

聘任日期

Salary

money

?

工资

表2-5商品表

表名:Product+你的姓名简拼

字段名称

类型宽度

约束

字段说明

PID

int

notnull主键

商品编号

PName

varchar(50)

notnull

商品名称

Price

Decimal(8,2)

单价

StockNumber

int

?

现有库存量

SellNumber

int

?

已销售数量

表2-6客户表

表名:Customer+你的姓名简拼

字段名称

类型宽度

约束

字段说明

CID

int

notnull主键

客户编号

CName

varchar(50)

notnull

客户名称,唯一

Phone

varchar(20)

联系电话

Address

varchar(100)

客户地址

Email

varchar(50)

客户Email

表2-7订单表

表名:Orders+你的姓名简拼

字段名称

类型宽度

约束

字段说明

ID

int

notnull主键

订单编号

EID

int

来自员工表的外键

员工号

PID

int

来自商品表的外键

商品编号

CID

int

来自客户表的外键

客户编号

Number

int

订货数量

Date

smalldatetime

订货日期,默认当前日期

四个表之间的联系如图2-5所示:

图2-5销售数据库四个表之间的联系

说明:

员工表、商品表、客户表三个表之间没有任何联系,各自管理单一的数据。三张表分别与订单表关联。

在订单表中记载哪位员工卖出了哪种商品,卖给了哪个客户,以及卖出的数量和时间。

查询语句格式

SELECT[ALL|DISTINCT][TOPn|PERCENT]目标列表达式[,目标列表达式]…

FROM表[WHERE条件表达式]

[GROUPBY列名1[HAVING条件表达式]]

[ORDERBY列名2[ASC|DESC]];

日期函数:getdate()取系统当前时间,year()取日期中的年,month()取日期中的月,day()取日期中的日

字符串函数:left(字符串,n)

1、使用销售数据库的题目

(1)请查询同时购买了打印纸和墨盒的客户信息,包括客户编号、客户名称、联系电话。(集合、嵌套、连接)

(2)请查询购买了打印纸,但没有购买墨盒的客户信息,包括客户编号、客户名称、联系电话。(集合、嵌套)

(3)查询哪些客户没有购买任何商品,显示客户编号、客户名称、联系电话。(集合、嵌套、外连接)

(4)查询库存量低于600的商品订货信息,包括商品编号、商品名称、订货时间、订货数量,库存数量,并按照库存数量、商品编号排序。(连接、基于派生表)

(5)查询某月(自己指定)订货超过两次的商品编号、商品名称、库存数量,并按照库存数量降序排列。(连接、基于派生表)

(6)请统计每月销售报表,显示年月、订单数量、订单总金额(订单金额=商品单价×订货数量),并按照年月升序、订单数量降序排列。(连接、基于派生表)

使用stuDB数据库的题目(6道题)

【例题5-37】查询哪些学生同时选修了“大数据导论”和“数据库”课程,显示出学生的学号。(云教材例题6-13)

【例题5-38】查询哪些学生选修了“大数据导论”但没有选修“数据库”课程,显示出学生的学号。(云教材例题6-14)

【例题5-39】查询选修了“大数据导论”或者“数据库”的学生学号。(云教材例题6-15)

【例题5-40】查找年龄最小的学生的姓名、性别和出生日期,请用基于派生表的查询实现。(云教材例题6-16)

【例题5-36】查询每个学生超过他自己选修课程的平均成绩的课程号,请用基于派生表的查询实现。(云教材例题6-12)

【例题5-34】查询比平均学时高的课程的课程号、课程名和学时。请用基于派生表的查询实现。(云教材例题6-10)

三、实验步骤(请

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档