《数据库原理》实验六 SQL数据查询实验

本系列传送门:

  1. 实验二 SQL Server SSMS工具创建和管理数据库及数据表
  2. 实验三 SQL Server SSMS工具添加数据
  3. 实验四 SQL的数据定义语句
  4. 实验五 数据库完整性约束的实现与验证
  5. 实验六 SQL数据查询实验
  6. 实验六(2) SQL数据查询—连接查询
  7. 实验七 SQL的数据更新和视图
  8. 实验八 T_SQL编程
  9. 实验九 存储过程和触发器
  10. 实验十 索引和数据库的安全性

本文目录

    • 1. 本实验的数据来源
    • 2. 实验目的
    • 3. 实验内容
      • (1)查询供应商表supplier中所有供应商的信息
      • (2) 查询商品类别表category中所有商品类别的信息,并以“类别编号”、“类别名称”、“描述”作为输出表的字段名称
      • (3)查询商品表product中商品类别编号为201并且单价高于1299的商品的名称proname和单价price
      • (4)计算商品表product中商品类别编号为401的商品的最高价、最低价和平均价,并以“最高价”、“最低价”、“平均价”作为输出表的字段名称
      • (5) 查询商品类别名称为“手机”的所有商品及其供应商信息,查询结果包含proname、stock、supname、price、cost、ontime
      • (6) 查询商品名称中包含“得力“和”考勤机”这两个关键字的供应商的名称supname
      • (7) 从订单表orders中检索商品类别名称为“手机”且销售数量排在前10名的商品的编号prono和销售数量qty
      • (8) 查询商品类别名称为“笔记本电脑”并且单价在3000到5000之间的商品的名称proname、单价price、成本价cost和数量stock
      • (9) 查询订单日期为“2021-11-11”,商品类别名称为“手机”类商品的销售总数量
      • (10)查询地址是广州市的供应商的名称supname和商品名称proname
    • 4. 实验内容(软工)
      • (1) 查询供应商表supplier中所有供应商的信息
      • (2) 查询供应商表supplier中所有供应商的名称supname和联系电话telephone
      • (3) 查询商品类别表category中所有商品类别的信息,并以“类别编号”、“类别名称”、“描述”作为输出表的字段名称
      • (4) 从商品表product中检索前5条记录信息
      • (5) 从员工表employee中检索员工编号empno信息,并消除重复记录
      • (6) 查询商品表product中所有记录的商品编号prono、商品名称proname、单价price,并将查询结果按price从低到高排序
      • (7) 查询商品表product中库存数量为零的商品的编号prono、商品名称proname、供应商编号supno
      • (8) 查询商品表product中商品类别编号为201并且单价高于1299的商品的名称proname和单价price
      • (9) 统计商品表product中每类商品的总库存数量,查询结果显示商品类别编号catno和库存数量
      • (10) 计算商品表product中商品类别编号为401的商品的最高价、最低价和平均价,并以“最高价”、“最低价”、“平均价”作为输出表的字段名称

1. 本实验的数据来源

请参考 实验三 SQL Server SSMS工具添加数据 中的数据导入脚本

2. 实验目的

1、掌握where、order by、group by等子句的含义、作用和语法格式
2、掌握top、distinct、like、in、as等查询关键字的含义、作用和语法格式
3、掌握比较运算符、逻辑运算符、范围运算符等的含义和作用
4、掌握count、max、min、avg等聚集函数的含义和作用
5、理解单表查询、连接查询、子查询、外部查询等语句的含义和语法格式
6、以“电子商务系统”数据库为例,熟练运用SQL数据查询语句完成各类查询问题的求解

3. 实验内容

(1)查询供应商表supplier中所有供应商的信息

select * from supplier;

(2) 查询商品类别表category中所有商品类别的信息,并以“类别编号”、“类别名称”、“描述”作为输出表的字段名称

select catno as '类别编号', catname as '类别名称', describe as '描述'
from category

(3)查询商品表product中商品类别编号为201并且单价高于1299的商品的名称proname和单价price

select proname, price
from product
where catno = 201 and price >1299

(4)计算商品表product中商品类别编号为401的商品的最高价、最低价和平均价,并以“最高价”、“最低价”、“平均价”作为输出表的字段名称

select max(price) as '最高价', min(price) as '最低价', avg(price) as '平均价'
from product
where catno = 401

(5) 查询商品类别名称为“手机”的所有商品及其供应商信息,查询结果包含proname、stock、supname、price、cost、ontime

select proname,stock,supname,price,cost,ontime from product
left join supplier
on product.supno = supplier.supno

(6) 查询商品名称中包含“得力“和”考勤机”这两个关键字的供应商的名称supname

select supname from product
left join supplier
on product.supno = supplier.supno
where product.proname like '%得力%' or proname like '%考勤机%';

(7) 从订单表orders中检索商品类别名称为“手机”且销售数量排在前10名的商品的编号prono和销售数量qty

select top 10 *
from orders
left join product
on product.prono = orders.prono
where catno in (
	select catno from category
	where catname = '手机'
) order by qty desc

(8) 查询商品类别名称为“笔记本电脑”并且单价在3000到5000之间的商品的名称proname、单价price、成本价cost和数量stock

select proname, price, cost, stock
from product
left join category
on category.catno = product.catno
where catname = '笔记本电脑' and price >=3000 and price <=5000

(9) 查询订单日期为“2021-11-11”,商品类别名称为“手机”类商品的销售总数量

select sum(qty) from orders
left join product
on product.prono = orders.prono
left join category
on product.catno = category.catno
where catname = '手机' and
orderdate>= '2021-11-11 00:00:00.000' and orderdate<'2021-11-11 23:59:59.999';

(10)查询地址是广州市的供应商的名称supname和商品名称proname

select supname, proname
from product
left join supplier
on supplier.supno = product.supno

4. 实验内容(软工)

由 @kkkkkba 友情提供。

(1) 查询供应商表supplier中所有供应商的信息

select * from supplier;

(2) 查询供应商表supplier中所有供应商的名称supname和联系电话telephone

select supname,telephone from supplier

(3) 查询商品类别表category中所有商品类别的信息,并以“类别编号”、“类别名称”、“描述”作为输出表的字段名称

select catno as '类别编号', caname as '类别名称', describe as '描述' from category

(4) 从商品表product中检索前5条记录信息

select top 5 * from product 

(5) 从员工表employee中检索员工编号empno信息,并消除重复记录

select distinct empno from employee

(6) 查询商品表product中所有记录的商品编号prono、商品名称proname、单价price,并将查询结果按price从低到高排序

select prono,proname,price
from product
order by price asc 

(7) 查询商品表product中库存数量为零的商品的编号prono、商品名称proname、供应商编号supno

select prono,proname,supno
from product
where porno=0

(8) 查询商品表product中商品类别编号为201并且单价高于1299的商品的名称proname和单价price

select proname,price
from product
where catno=201 and price>1299

(9) 统计商品表product中每类商品的总库存数量,查询结果显示商品类别编号catno和库存数量

select catno,sum(stock) as 'stock'
from product
group by catno

(10) 计算商品表product中商品类别编号为401的商品的最高价、最低价和平均价,并以“最高价”、“最低价”、“平均价”作为输出表的字段名称

select max(price),min(price),avg(price)
from product where prono=401

你可能感兴趣的:(#,2022春季课程笔记,sql)