SQL基础教程第五章复杂查询
SQL基础教程第五章复杂查询
Hoshea Zhang视图
视图和表
从SQL角度来看视图就是一张表,区别就是是否保存了真正的数据
- 优点
- 节省存储设备容量
- 可以将频繁使用的select语句保存为视图,不用每次都重复书写
创建视图
1 | CREATE VIEW ProductSum(product_type,cnt_product) |
使用视图
1 | SELECT product_type,cnt_product |
- 尽量避免多重视图
- 不能使用order by
删除视图
DROP VIEW
子查询
子查询其实就是一次性视图
1 | SELECT product_type, cnt_product |
这个是一次性的,别名在查询结束后就消失了
关联子查询
1 | SELECT AVG(sale_price) |
子查询如上所示,根据商品种类查找平均价格,如果使用下面的查询会报错:
1 | SELECT product_id, product_name, sale_price |
因为sale_price是一个数据,而子查询是三个数据,所以需要追加一行关联查询:
1 | SELECT product_type, product_name, sale_price |
结合条件一定要写在子查询里