Oracle视图查询练习

129 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第17天,点击查看活动详情

Oracle视图常用查询

给用户授权

首先要给予用户SCOTT创建视图的权限

代码如下

grant connect, resource to SCOTT;

image.png ALTER USER scott IDENTIFIED BY Orcl123456 ACCOUNT UNLOCK; select * from emp;

然后切换到用户SCOTT方便我们查询emp表

创建视图

然后我们使用create view进行视图的创建

举两个例子

1.基于emp表创建包含员工号、姓名、工作、部门号的视图,并查询创建结果

代码如下

create view vm1_emp AS select EMPNO,ENAME,JOB,DEPTNO FROM emp;

当出现如图所示的时候说明我们创建成功了

image.png

然后查询一下看看结果

代码如下

select * from vm1_emp;

image.png 可以看到能够查询到我们创建的视图

2.基于emp表创建每个部门最低工资、最高工资、平均工资的视图、并查询创建结果

这里我们选择创建视图的时候要注意给视图创建列别名,这样数据看起来会比较直观

代码如下

create view vm2_emp(maxsal,minsal,avgsal) AS select max(sal),min(sal),avg(sal) FROM emp; select * from vm2_emp;

同理

image.png 创建成功,查询一下

select * from vm1_emp;

image.png

视图的增删改

在视图插入数据

将张三的部分信息插入到视图vm1_emp中(1000,'张三','教育','40')

插入使用INSERT

代码如下

INSERT INTO vm1_emp values(1000,'张三','教育','40');

查询一下

image.png

视图的修改(更新)

将张三的职业更新为教师

更新需要使用UPDATE

代码如下

UPDATE vm1_emp set job ='教师' where empno =1000;

更新完查询一下,得到下面结果

image.png

在视图中删除数据

在vm1_emp表中将张三的信息删除

删除使用DELETE

代码如下

delete from vm1_emp where empno =1000;

然后我们再查询一下

image.png

可以看到查不到张三的信息了

以上就是Oracle数据库视图部分的简单使用