Oracle資料庫精講(三)

2021-10-07 12:42:37 字數 1772 閱讀 1620

內連線

多張表通過相同字段進行匹配,只顯示匹配成功的資料。

//1.

select

*from emp e,dept d where e.deptno=d.deptno;

//2.

select

*from emp e inner

join dept d on e.deptno=d.deptno;

外連線

以左表為基準(左表資料全部顯示),去匹配右表資料,如果匹配成功,則全部顯示;匹配不成功,顯示部分(無資料部分用null填充)

a.(oracle獨有)

select

*from emp e,dept d where e.deptno=d.deptno(+)

;b.select

*from emp e left

outer

join dept d on e.deptno = d.deptno

以右表為基準(右表資料全部顯示),去匹配左表資料,如果匹配成功,則全部顯示;匹配不成功,顯示右邊部分

a.(oracle獨有)

select

*from emp e,dept d where e.deptno(+)

=d.deptno;

b.select

*from emp e right

outer

join dept d on e.deptno=d.deptno;

全外連線 = 左外連線 + 右外連線 - 去重

自連線

將一張表通過別名 「 視為 」 不同的表

例子:查詢員工姓名,以及該員工的領導姓名:

select e.ename,b.ename from emp e, emp b where e.mgr=b.empno;

//員工表的領導編號mgr = 領導表的員工編號emono

子查詢

例子:查詢比scott工資高的員工資訊

1.先查scott的工資

select * from emp where ename =

'scott'

;2.查詢比scott工資高的員工資訊

select * from emp where sal >

(1的結果)

//合二為一:

select * from emp where sal >

(select sal from emp where ename =

'scott'

);

注意:

偽列

rownum:邏輯偽列

rowid:物理偽列

1.select 後的字段,如果不再聚合函式中,就必須在group by後面。

2.增強group by:group by rollup(a,b)

rollup(a,b)相當於

group by a,b

group by a

group by null

3.全值連線解決一般連線無法解決的情況,模擬外來鍵=主鍵

資料庫原理精講1

一.資料系統概述 1.1 資料庫基本概念 1.2 資料管理技術的發展 1.3 資料庫系統的結構 1.4 資料模型 二.資料庫基本概念 2.1 什麼是資料 1.資料 data 是描述事物的符號記錄,是指利用物理符號j記錄下來的,可以鑑別的資訊。2.資料是資訊存在的一種形勢,只有通過解釋或處理的資料才能...

Oracle資料庫精講(十)觸發器 DBCA

建立語法 create orreplace trigger 觸發器名 before after delete insert update of 列名 on 表 for each row when 條件 plsql 無論修改多少行,觸發器只執行一次。原因 預設是 語句級觸發器,作用於表,只執行一次。還...

資料庫系統原理(精講四)

資料庫的資料完整性是指資料庫中資料的正確性 相容性 一致性 實體的完整性約束 關係的實體完整性約束表示的是主碼組成不能為空,主屬性不能是空值null 參照完整性約束 涉及兩個表一定是參照完整性約束 定義主碼與外碼之間的引用規則 要麼外碼等於主碼中某個元組的主碼值,要麼為空 使用者定義完整性約束 關係...