Oracle多表查询 + 事务处理 (学习笔记)

insert into emp(empno,ename,job) values (888,'张三','worker');
select* from emp,dept;会显示14*4=56行记录,这是做了笛卡尔积的结果。 
select* from emp e,dept d where e.deptno=d.deptno;提供了消除笛卡尔积的条件,但是如果数据量相当大,不建议使用多表查询,性能很差。
使用多表查询:多表中一定要有相同的字段(或者关联字段)

内连接(等值连接)
外连接 :让等值连接左右两边有一边的数可以全部显示出来
·左外连接:字段 = 字段(+)
·右外连接:字段(+) = 字段
     (+)标记只有Oracle数据库才有。


内连接:select* from emp e,dept d where e.deptno=d.deptno;
select * from emp e inner join dept d on e.deptno=d.deptno;(其他数据库 语法)

外连接:select e.empno,e.ename,e.job,d.deptno,d.dname,d.loc from emp e,dept d where e.deptno=d.deptno(+);
select * from emp e  left outer join dept d on e.deptno=d.deptno;(其他数据库 语法)

事务处理:
session : 会话


操作命令:
commit ; 将提交到缓冲区的清除,此时无法进行rollback 恢复了。
rollback ; 回退,讲提交到缓冲区的再次回退。



    ·只有更新操作才会存在事务处理,更新同一条记录时,一个session会的等待另一个session操作完成之后才会执行,
也就是要第一个session执行rollback或者commit操作,第二个sessioon才会执行更新
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值