一、实验目的
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的付款方式及订单总数,并按付款方式进行排序。
- 查询所有商品的详细信息。
- 查询客户订单中的所有付款方式,并且要求显示的付款方式不重复。
- 查询各种球类商品的编号、名称和价格等信息。
- 查询“上海、江苏南京、河南郑州”所有的客户信息,并按客户所在省市降序排列。
(5)查询商品价格较高的前两名信息。
补充知识内容:
TOP子句可以提取记录集的前几条记录,格式为:
SELECT TOP 整数|百分数 列名1[,列名2,…] FROM 表名
- 查询姓“张”且不为单名所有的客户姓名和性别。
select 客户姓名,性别
from CustomerInfo
where 客户姓名 like '张%'
- 查询备注不为空的VIP客户信息。
select*
from CustomerInfo
where VIP!=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