SQL视图

1.视图:

    从代码上是select语句,逻辑上可当作一个虚拟表。用于避免代码冗余

2.格式:

 create view 视图名
    as

--select前面不能添加begin
    select 

--select前面不能添加end

3.优点:
    简化查询

    增加数据的保密性

    create view v$_emp_2
        as

        select  empno,ename,job,mgr,comm,deptno from emp     //将入职时间,和工资省略

        select * from v$_emp_2    //注意:用insert into时,要确保“入职日期”,"工资"两字段允许null,不建议通过视图操作

4.缺点:增加维护成本,因为当主表删除时,视频并不会自动删除。

5.注意:创建视图的select语句必须为所有的计算列指定别名

create view v$_emp_3
as

select  avg(sal), deptno from emp group by deptno    ----error创建视图或函数失败,因为没有为列 1 指定列名。


//平均工资最高的部门编号及平均工资

select * from 
( select  avg(sal) "avg_sal", deptno from emp group by deptno) "T" 
where "T"."avg_sal"=
(select MIN("E".avg_sal) from 
(select  avg(sal) "avg_sal", deptno from emp group by deptno)"E")

//创建视图
create view v$_emp_1
as
select  avg(sal) "avg_sal", deptno from emp group by deptno
//应用
select * from v$_emp_1
where avg_sal=
(select max(avg_sal) from v$_emp_1)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值