MySql的视图简介

一.视图
1.概念
  视图:存储的查询语句,当调用的时候,产生结果集,视图充当的是虚拟表的角色.mysql5.1版本出现的新特性,是通过表动态生成的数据。

2.视图与表的区别
视图与普通表的对比:

                  语法                  	内存占用                      应用情形

    视图       create view                只是保存sql逻辑             增删改查,一般不能增删改一般只用到查
				 
    表         create table                 保存了数据                     增删改查

3.视图的好处
视图的作用就是缓存数据,可以这么理解,把一条sql的查询结果装在了一个视图里,下次再查的时候,就不用走sql了,直接取这个视图里就可以了,神奇的是可以修改这个视图里的数据,就等于修改了原表数据。
它的优点有很多,什么简单、安全、简化操作、数据独立。。。。。。

4.视图的语法
1>创建视图
create view 视图名
as
查询语句;

2>案例
1.查询姓名中包含a字符的员工名、部门名和工种信息
①创建
CREATE VIEW myv1
AS
SELECT last_name,department_name,job_title
FROM employees e
JOIN departments d ON e.department_id = d.department_id
JOIN jobs j ON j.job_id = e.job_id;

②使用
SELECT * FROM myv1 WHERE last_name LIKE ‘%a%’;

2.查询各部门的平均工资级别
①创建视图查看每个部门的平均工资
CREATE VIEW myv2
AS
SELECT AVG(salary) ag,department_id
FROM employees
GROUP BY department_id;

②使用
SELECT myv2.ag,g.grade_level
FROM myv2
JOIN job_grades g
ON myv2.ag BETWEEN g.lowest_sal AND g.highest_sal;

3.查询平均工资最低的部门信息
SELECT * FROM myv2 ORDER BY ag LIMIT 1;

4.查询平均工资最低的部门名和工资
CREATE VIEW myv3
AS
SELECT * FROM myv2 ORDER BY ag LIMIT 1;

SELECT d.*,m.ag
FROM myv3 m
JOIN departments d
ON m.department_id=d.department_id;

**视图具体的使用操作见此**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值