Oracle多表查詢 事務處理 學習筆記

2021-08-20 14:27:39 字數 969 閱讀 8913

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才會執行更新

MySQL事務處理學習記

關於mysql事務處理學習記 start transaction,commit和rollback語法 start transaction begin work commit work and no chain no release rollback work and no chain no rele...

MySql多表查詢 事務

1.準備sql 建立部門表 create table dept id intprimary keyauto increment,name varchar 20 建立員工表 create table emp id intprimary keyauto increment,name varchar 10...

Oracle與SQL Server事務處理的比較

事務處理是所有大型資料庫產品的乙個關鍵疑問,各資料庫廠商都在這個方面花費了很大精力,不同的事務處理方式會導致資料庫效能和功能上的巨大差異。事務處理也是資料庫管理員與資料庫運用 程式開發人員必須深刻理解的乙個疑問,對這個疑問的疏忽可能會導致運用 程式邏輯不正確以及效率低下。下面我們針對oracle及s...