一开始总觉得视图听起来名字高大上,像我这种屌丝一看就头疼,然后现在用了一些视图,感觉也不过如此吧!一般项目而言,会有各种各样的表,但有时候你需要的一些数据不只在一张上面,这时候你就会很蛋疼,当你接触视图后,你会明白原来还能这样干,视图就是将你需要的几张表中的数据整合到一张表上面,然后你就可以干自己想干的事情了!其实感觉就像是你把自己即将会写的一段SQL语句整合成一个个小小的模块,然后这样你自己看着舒服,别人看着也舒服,还能在不懂的人面前装装B,感觉高大上!下面给个小例子!
创建一张视图:
create view v_purchase_month(price,rq,year,cc)as
select
sum(rqs_amount*ph_price) as price,
sum(r.rqs_amount) as rq,
to_char(t.add_time, 'yyyy') as year,
count(t.number)as cc,
to_char(t.add_time, 'mm') as tmonth
from ag_task t
left join ag_purchase p on t.number=p.purchase_id
left join ag_requisitions r on p.rqs_id=r.rqs_id
group by year,tmonth
order by tmonth asc
这是我建立的一张视图,输出结果是这样的:
然后就是视图的一些好处了
1、视图能够简化用户的操作 2、视图使用户能以多钟角度看待同一数据 3、视图对重构数据库提供了一定程度的逻辑独立性 4、视图能够对机密数据提供安全保护 5、适当的利用视图可以更清晰的表达查询,
写的这几个好处你一看就知道我是在百度上面找来的,不过简言之就是,视图能带来高效,美观,安全的好处(原谅我在这里装B),所以学会使用视图是很有必要的。SQL语句没学好的童鞋可以去http://www.w3school.com.cn/sql/index.asp多看看就行,然后你会有很多意外的收获的。