数据库系统原理实验(实习)报告——单表查询

一、实验目的

1、掌握select语句的基本语法和查询条件表示方法

2、掌握数据汇总方法

3、掌握group by子句的作用和使用方法

4、掌握having子句的作用和使用方法

5、掌握order by子句的作用和使用方法

二、实验内容与步骤

1、参照教材P40内容使用界面操作的方式建立GoodsOrder数据库,在该数据库中建立三个基本表CustomerInfo、GoodsInfo和OderList。(表结构见表3.2、表3.3和表3.4)

要求:报告里需要给出数据库和三个基本表在对象资管理中的截图和三个表结构的截图。

2、将教材P22中2.6、表2.7和表2.8的数据手动录入到三个表中。

要求:报告里需要给出各表录入数据后的结果截图。

3、在GoodsOrder数据库中,利用SQL语句实现下面操作:

(要求以文本形式给出对应的SQL语句和查询结果截图)

(1)查询所有商品的详细信息。

(2)查询客户订单中的所有付款方式,并且要求显示的付款方式不重复。

(3)查询各种球类商品的编号、名称和价格等信息。

(4)查询“上海、江苏南京、河南郑州”所有的客户信息,并按客户所在省市降序排列。

(5)查询商品价格较高的前两名信息。

补充知识内容:

TOP子句可以提取记录集的前几条记录,格式为:

SELECT  TOP  整数|百分数  列名1[,列名2,…]  FROM 表名

(6)查询姓“张”且不为单名所有的客户姓名和性别。

(7)查询备注不为空的VIP客户信息。

(8)查询保质期在2020年下半年之间的食品类商品的编号、名称、生产商和库存量。

(9)统计各类商品的最低库存数,统计结果所在列标题显示为“最低库存量”。  

(10)统计江苏的客户数量。

(11)按付款方式统计订单总数量大于等于5的付款方式及订单总数,并按付款方式进行排序。

  1. 查询所有商品的详细信息。

  1. 查询客户订单中的所有付款方式,并且要求显示的付款方式不重复。

  1. 查询各种球类商品的编号、名称和价格等信息。

  1. 查询“上海、江苏南京、河南郑州”所有的客户信息,并按客户所在省市降序排列。

(5)查询商品价格较高的前两名信息。

补充知识内容:

TOP子句可以提取记录集的前几条记录,格式为:

SELECT  TOP  整数|百分数  列名1[,列名2,…]  FROM 表名

  1. 查询姓“张”且不为单名所有的客户姓名和性别。

select 客户姓名,性别

    from CustomerInfo

    where 客户姓名 like '张%'

  1. 查询备注不为空的VIP客户信息。

select*

    from CustomerInfo

    where VIP!=1

  1. 查询保质期在2020年下半年之间的食品类商品的编号、名称、生产商和库存量。

select 商品编号,商品名称,生产商,库存量

    from GoodsInfo

    where 保质期>='2020-07-01' and 保质期<='2021-01-01'

(9)统计各类商品的最低库存数,统计结果所在列标题显示为“最低库存量”。  

select 商品类别,min(库存量) as '最低库存量'

    from GoodsInfo

    group by 商品类别

(10)统计江苏的客户数量。

select count(所在省市) as '江苏客户数量'

    from CustomerInfo

    where 所在省市 like '江苏%'

(11)按付款方式统计订单总数量大于等于5的付款方式及订单总数,并按付款方式进行排序。

select 付款方式,count(数量) as '订单总数'

    from OrderList   

    group by 付款方式

    order by '订单总数' desc

1、 Find the name, loan number and loan amount of all customers; rename the column name loan_number as loan_id. 2、 Find the names of all customers whose street includes the substring “Main”. 3、Find all customers who have a loan, an account, or both: 4、Find all customers who have both a loan and an account. 5、Find all customers who have an account but no loan. 6、Find the average account balance at the Perryridge branch. 7、 Find the number of tuples in the customer relation. 8、 Find the number of depositors in the bank. 9、 Find the number of depositors for each branch. 10、Find the names of all branches where the average account balance is more than $1,200. 11、Find all loan number which appear in the loan relation with null values for amount. 12、Find all customers who have both an account and a loan at the bank. 13、Find all customers who have a loan at the bank but do not have an account at the bank 14、Find all customers who have both an account and a loan at the Perryridge branch 15、Find all branches that have greater assets than some branch located in Brooklyn. 16、Find the names of all branches that have greater assets than all branches located in 1、创建一个School数据库,该数据库的主数据文件逻辑名称为SCHOOL_data,物理文件名为School.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为School_log,物理文件名为School.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。 2、用SQL语句建立上述,自定义主键和外键,对于student建立约束条件:ssex仅能取male或female;sage在18和22之间。并完成下面的查询语句。 1、查询所有选修过“Bibliometrics”课的学生的姓名和成绩; 2、查询考试成绩不及格的学生的个数; 3、查询名字中至少含有一个“z”字符的学生的姓名、学号和性别; 4、查询选修了“Introduction to the Internet”课程的学生的学号及其成绩,查询结果按分数的降序排列; 5、查询“Zuo li”同学选修课程的总学时(time)数 6、查询年龄不大于20岁的学生的平均考试成绩; 7、查询 “computer science”专业学生选修 “Database System”的人数; 8、查询同时选修课程“Database System”和“Introduction to the Internet”的学生姓名; 9、查询选修的课程中含有“Wang gang”同学所有选修课程的学生姓名。 10、查询“Information Technology for Information Management”考试成绩为空的学生姓名及专业名称。 11、查询“computer science”专业学生每个人的选修课总学分。 12、查询个人考试平均成绩高于专业平均成绩的学生姓名 13、查询个人考试平均成绩高于女生平均成绩的男生姓名 14、查询比“computer science”专业所有学生年龄都大的学生姓名。 15、查询考试成绩仅有一科不及格学生姓名
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值