Oracle(SQL 之视图)

-- 查询部门号为10所有的员工,所有得到提成的员工,以及20号部门工资不超过2000的美元的员工
select * from emp where empno=10 or comm is not null or deptno=20 and sal>2000;
-- union 函数 去除重复的
select deptno from dept union select deptno from emp;
-- 授权
grant create view to scott;
grant create table to scott;
grant create session to scott;
-- 创建视图
create view V
as
select * from emp
where job = 'SALESMAN' ;
-- 授权视图
grant create view to scott;
-- 使用union all 把 表中的行组合在一起
select ename from emp
union all
union
select dname from dept;
-- 显示10部门员工的姓名 以及员工所在地点 简单的两个表的查询
--等值连接 内链接的一种
select
e.ename,d.loc
from
emp e,dept d
where
e.deptno=d.deptno
and d.deptno=10;
-- 利用(inner) join on关键字 内连接
select
e.ename,d.loc
from
emp e inner join dept d on(d.deptno=e.deptno)
and d.deptno=10;
-- 利用别名查询表
select d.* from dept d;
--查询 三个表显示数据
create table emp_bonus(
enpno number,
received varchar2(20),
type number
);

--修改把字段名enpno修改 empno;
--alter table [表名] rename column 旧的字段名 to 新的字段名;
alter table emp_bonus rename column enpno to empno;
select * from emp_bonus;
insert into emp_bonus values(7369,'14-MAR-2005',1);
insert into emp_bonus values(7900,'14-MAR-2005',1);
insert into emp_bonus values(7788,'14-MAR-2005',1);

-- 将员工的奖励加入到系统当中
select
e.ename ,eb.received ,d.loc
from
emp e,emp_bonus eb,dept d
where
e.empno=eb.empno
and
d.deptno=e.deptno;
-- 查到的不是我们想要的结果
-- 应该现实全部类容 左外连接
select e.ename,eb.received,d.loc
from
emp e,emp_bonus eb,dept d
where
e.deptno=d.deptno
and e.empno=eb.empno(+);
-- 使用标量子查询 把第二列已经查出来
select
e.ename ,d.loc,(select eb.received from emp_bonus eb where eb.empno=e.empno)as received
from
emp e , dept d
where e.deptno=d.deptno;
-- 高级查询 去除重复行
select ename from
(select row_number() over(order by ename)rn,ename
from emp
)
where mod(rn,2)=1;

-- 创建序列
create sequence panhe;
-- 查找序列
select panhe.nextval panhe;
select panhe.currval panhe;
-- 序列支持并发
-- 主要用于主键生成策略
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值