若遇到一些复杂的需求,如何高效地重复使用查询、如何确保数据操作的完整、如何进行复杂的统计,以及如何设计灵活的数据结构。
这节说下视图、事务、窗口函数和继承四个关键特性,来更好地掌握PostgreSQL的使用
一.视图
视图(View)就像是一个虚拟出来的表,对一个查询语句进行封装,然后可以像普通表一样进行查询操作。
还是假设有天气表weather和城市表cities,经常需要查询一个城市在一段时间内的天气数据。我们可以创建一个视图来简化这个操作:
CREATE VIEW one_view AS
SELECT w.city,w.temp_low, w.temp_high, w.prcp, w.date,c.location
FROM weather w, cities c
WHERE w.city = c.name;
这样,就可以通过简单的select * from my_view;来像普通表一样获取数据,而不需要每次都输入复杂的查询语句。
select * from onw_view;
视图不仅简化了查询,还封装了表的结构细节,使得即使表的结构发生变化,只要视图的定义保持不变,还是可以继续使用