数据库程序设计-视图的创建及查询
使用create view语句就可以创建视图了,具体语句如下:
create view viewname as select * from Tab_EdsProd(Tab_EdsProd是表的名字)where (后面可以接一线限制的条件)。
删除视图度:drop view viewname。
1.创建视图vw_count:查询顾客“马云”一共购买了多少部小米Note2,字段分别为客户姓名(cname),商品名字(pname),物品总数量(osum)。
create view vw_count
as select cname,pname,sum(ocount) osum
from customer,product,orders
where customer.cname ='马云' and product.pid=orders.pid AND product.pname='小米Note2'
2.创建视图vw_vendor:查询所有供应商的信息。保留所有字段即可
create view vw_vendor as select * from vendor;
3.创建视图vw_orderpric:查询小米Note2的销售价格。保留字段pname, oprice
create view vw_orderpric
as select DISTINCT product.pname,orders.oprice
from product,orders
where product.pid=orders.pid
and product.pid=(select product.pid from product where product.pname='小米Note2');
4.创建视图vw_odate:查询2016-12-05之后销售数量最高的两笔销售信息。保留所有字段即可
create view vw_odate
as select * from orders
where orders.odate>'2016-12-05'
order by ocount desc LIMIT 2 ;
5.创建视图vw_vp:查询小米Note2的供应商姓名(vname)、供应商地址(vaddress)、邮政编码(vzip),产品价格(pprice)。
create view vw_vp
as
select vendor.vname,vendor.vaddress,vendor.vzip,product.pprice
from product,vendor
where product.pid=vendor.vid
and product.pid=(select product.pid from product where product.pname='小米Note2');
6.已知视图vw_vp中的字段有供应商姓名(vname)、供应商地址(vaddress)、邮政编码(vzip),产品价格(pprice),在视图vw_vp基础上:查询产品价格大于2000的供应商姓名、供应商地址、邮政编码,产品价格。
select vname,vaddress,vzip,pprice from vw_vp;