[SQL]销售管理数据库的查询操作

实验目的和要求

1、掌握SELECT语句的语法格式;

2、掌握单表查询和多表连接查询;

3、了解相关子查询,不相关子查询。

实验内容

在销售管理数据库中完成下列查询操作:

1、集合查询;

2、各种查询的综合运用等。

实验任务&步骤

1、新增一名职工,修改职工数据(例如:ID),删除员工

INSERT INTO Employee(ID,Name,Sex)

VALUES(11,'XXX','女','2000-01-01')

UPDATE Employee

SET ID='01'

WHERE Name='XXX';

[SQL]销售管理数据库的查询操作_第1张图片

Delete部分:

[SQL]销售管理数据库的查询操作_第2张图片

2、新增一种产品,新增该产品采购订单,销售订单

[SQL]销售管理数据库的查询操作_第3张图片

表内数据更新:

[SQL]销售管理数据库的查询操作_第4张图片

[SQL]销售管理数据库的查询操作_第5张图片

注意:变量使用前必须声明并初始化变量否则会报错

DECLARE @newProductID INT;  

3、删除该新增产品的所有数据

[SQL]销售管理数据库的查询操作_第6张图片

4、统计杭州的客户数量,并显示。

统计结果在视图下进行显示

[SQL]销售管理数据库的查询操作_第7张图片

[SQL]销售管理数据库的查询操作_第8张图片

5、查询单个订单销售数量(SellOrderNumber)大于50的职工的工号,姓名

[SQL]销售管理数据库的查询操作_第9张图片

[SQL]销售管理数据库的查询操作_第10张图片

6、公司进行双11活动,请在产品表格中新增一列,对原产品价格进行9.5折计算,并输入该列

SQL 中,小数数值有两种数据类型:float 和 decimal,分别是近似数值和精确数值。其他小数类型,都可以使用float和decimal来替代,例如:双精度(double precision)数据类型等价于 float(53),real等价于float(24)。

当数值不允许精度丢失时,使用 decimal数据类型存储数据。

在计算小数的除法时,SQL Server 内部隐式升级数据类型——根据小数数值的数据类型,就近向float(24) 或float(53)转换。

此问先ADD COLUMN

[SQL]销售管理数据库的查询操作_第11张图片

然后再UPDATE,两步若同时进行会报错

[SQL]销售管理数据库的查询操作_第12张图片

运行结果:

[SQL]销售管理数据库的查询操作_第13张图片

7、将“杭州浦沿量具厂”供应商单独提供的产品的价格上浮10%(没有其它公司重复提供)

ADD‘涨价’列

[SQL]销售管理数据库的查询操作_第14张图片

关联表通过Purchase_order.ProviderID和Provider.ProviderID,Provider.ProductID和Product.ProductID

即语句

FROM Purchase_order

    JOIN Provider ON Purchase_order.ProviderID = Provider.ProviderID

    WHERE Provider.ProviderName = '杭州浦沿量具厂'

[SQL]销售管理数据库的查询操作_第15张图片

8、公司原来的销售部主管离职,请在该部门选出符合主管条件的员工名单(工龄大于20年)

[SQL]销售管理数据库的查询操作_第16张图片

9、公司需要对大客户进行回访,请列出2012-2015年之间,购买金额前五的客户详细信息

采用“limit 5;”进行限制,运行时出现报错。

于是采用Top 5进行限制前五名的输出。

SELECT TOP 5

    C.CustomerID,

    C.CompanyName,

    SUM(P.Price * SO.SellOrderNumber) AS TotalPurchaseAmount

FROM Customer C

JOIN Sell_Order SO ON C.CustomerID = SO.CustomerID

JOIN Product P ON SO.ProductID = P.ProductID

WHERE YEAR(SO.SellOrderDate) BETWEEN 2012 AND 2015

GROUP BY C.CustomerID, C.CompanyName

ORDER BY TotalPurchaseAmount DESC

[SQL]销售管理数据库的查询操作_第17张图片

10、年底销售部门进行绩效考核,请列出销售部门业绩前五的员工姓名及工号

相对于上一题只是联表后需再次嵌套,利用DepartmentID确认‘销售部’

即以下语句

WHERE E.DepartmentID = (

SELECT DepartmentID FROM Department

WHERE DepartmentName = '销售部') 

[SQL]销售管理数据库的查询操作_第18张图片

你可能感兴趣的:(SQL,数据库,sql)