目录

一、如何提高查询效率:

那如何提高查询语句的效率呢?

二、视图的使用:

1、视图关键字:view

2、视图的基本使用

3、视图的修改

4、删除视图

三、视图的创建:

四、视图的修改

五、视图的删除

什么是视图?视图有什么作用?

为什么要建立视图?建立视图有什么好处和优点


一、如何提高查询效率:


查询语句也有查询的效率问题,比如说交叉连接与内外连接的区别,交叉连接需要产生一个笛卡尔积的临时表,这样效率比较低

那如何提高查询语句的效率呢?

二、视图的使用:


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 视图名;
-- 视图只可以用于代替查询语句
-- 视图不占用额外的存储空间


什么是视图?视图有什么作用?

为什么要建立视图?建立视图有什么好处和优点

总的来说,视图使查询变的更加简单,安全,数据独立性得到了提高。

04-22 17:16