目录
一、如何提高查询效率:
查询语句也有查询的效率问题,比如说交叉连接与内外连接的区别,交叉连接需要产生一个笛卡尔积的临时表,这样效率比较低
那如何提高查询语句的效率呢?
二、视图的使用:
1、视图关键字:view
一般格式:create view <视图名> as <查询语句>;
create view <视图名称> as <select <属性名> from <表名>>;
可以查询表中全部数据创建视图,也可查询表中部分数据创建视图
2、视图的基本使用
select *from <视图名>;
视图与上面的查询语句结果一致
3、视图的修改
alter view 视图名 as 查询语句 ;
#将视图更改为其他查询
4、删除视图
drop view 视图名;
三、视图的创建:
select *from student;
create view V_S as select * from student;
-- 视图可以用于代替一条查询语句,相当于为查询语句取一个别名
视图的使用:
select* from V_S;
-- 将视图当做表格来使用
-- 查询视图中的部分属性
select s_id ,s_name from V_S where s_id >=1008;
四、视图的修改
-- 可以修改视图所对应的查询语句
-- 查询所有学生所在班级的班级名称,以及对应班级的任课老师
select S.s_id 学号,S.s_name 学生姓名,C.c_name 班级名称,T.t_name 任课老师
from student S left join class C on S.s_cid = C.c_id
left join teacher T on C.c_tid = T.t_id;
alter view V_S as
select S.s_id 学号,S.s_name 学生姓名,C.c_name 班级名称,T.t_name 任课老师
from student S left join class C on S.s_cid = C.c_id
left join teacher T on C.c_tid = T.t_id;
-- 可以使用视图代替一个复杂的查询语句
-- 也可以对视图创建视图(视图的嵌套)
create view V_SC as select 学生姓名, 班级名称 from V_S;
五、视图的删除
drop view 视图名;
-- 视图只可以用于代替查询语句
-- 视图不占用额外的存储空间
什么是视图?视图有什么作用?
为什么要建立视图?建立视图有什么好处和优点
总的来说,视图使查询变的更加简单,安全,数据独立性得到了提高。