头歌:数据库:课后作业9 视图

任务描述

本关任务: 第一题 建立视图ckyg,查询gzry数据表中部门bm为仓库的员工的所有字段的信息 第二题 在视图ckyg中,插入gyh雇员号为019,姓名gyxm为李盛,部门bm为仓库的数据。 第三题 在视图ckyg中,删除姓名为赵国庆的数据 第四题 在视图ckyg中,将王文武的电话改为13319660678

提示: 在数据来源于多表的视图中,不能插入和删除数据 开始你的任务吧,祝你成功!

 use sale;
#代码开
create view ckyg as select * from gzry where bm='仓库';
#题目2
insert into ckyg(gyh,gyxm,bm)values('019','李盛','仓库');

#题目3
delete from ckyg where gyxm='赵国庆';


#题目4
 update ckyg set dh='13319660678' where gyxm='王文武';


 
 #代码结束
 select * from gzry;

任务描述

本关任务: 根据工作人员gzry、销售单xsd、顾客gk数据表建立视图 为了完成本关任务,你需要掌握:

如何建立视图

相关知识

建立视图

视图是从数据库中一个或多个表中导出来的虚拟表。 包含一系列有名称的数据列和若干数据行。 建立视图的命令格式:

 
  
  1. CREATE [OR REPLACE]
  2. VIEW view_name [(column_list)]
  3. AS SELECT_statement

view_name是视图的名称

任务要求

打开sale数据库 建立xsdxx视图,包含销售单号xsdh、雇员号gyh、雇员姓名gyxm、会员号hyh、会员姓名name、销售日期xsrq、实际付款sjfk字段。


开始你的任务吧,祝你成功!

use sale;
 #代码开始
 create view xsdxx as select xsd.xsdh,xsd.gyh,gzry.gyxm,xsd.hyh,gk.name,xsd.xsrq,xsd.sjfk
from xsd
left join gzry on  gzry.gyh=xsd.gyh
left join gk on  gk.hyh=xsd.hyh;
 
 #代码结束
 select * from xsdxx;

 

任务描述

任务: 根据xsdxx视图建立视图

为了完成本关任务,你需要掌握: 第一题: 根据xsdxx视图建立视图xsdhytj,显示会员号hyh,姓名name和实际付款sjfk的合计金额(命名为hjje) 按合计金额的降序排列

第二题: 根据xsdxx视图建立视图xsdgytj,显示雇员号gyh,姓名xm和实际付款sjfk的合计金额(命名为hjje) 按合计金额的降序排列

 

use sale
 #代码开始
 #第一题

CREATE VIEW hytjcx AS
SELECT hyh, name, SUM(sjfk) AS hjje
FROM xsdxx
GROUP BY hyh, name
ORDER BY hjje DESC;



 #第二题
CREATE VIEW gytjcx AS
SELECT gyh, gyxm, SUM(sjfk) AS hjje
FROM xsdxx
GROUP BY gyh
ORDER BY hjje DESC;


 #代码结束
 select * from hytjcx;
select * from gytjcx;

任务描述

本关任务:在视图中修改数据

相关知识

在视图中,可以通过update命令更新数据 但是,如果是计算字段则无法更新。

任务要求

在视图xsdxx中,将工作人员gyxm王强的销售日期xsrq2015-6-3的会员名name刘海东的订单的实际付款sjfk设置为800 观察视图xsdgytj和xsdhytj的变化


开始你的任务吧,祝你成功!

 

use sale;
#代码开始

UPDATE xsdxx
SET sjfk = 800
WHERE gyxm = '王强' AND xsrq = '2015-6-3' AND name = '刘海东';


 #代码结束
select * from xsdhytj;
select * from xsdgytj;

 

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