Oracle總結03多表 7自連線

2021-08-15 12:00:18 字數 1265 閱讀 7076

例項:查詢員工姓名和員工老闆姓名

分析:老闆也是員工,在員工表中。是查詢的同1張表

mgr列表示老闆的員工編號

寫法1:

select e.ename 員工姓名,b.ename 老闆姓名

寫法2:外連線-左連線

select e.ename||' report for '|| b.ename "關係"

from emp e,emp b

where e.mgr = b.empno(+);

關係

寫法3:

select e.ename||' report for '|| b.ename "關係"

from emp e left outer join emp b

on e.mgr=b.empno;

關係

寫法4:層次查詢,效率較高

select e.ename||' report for '|| prior ename

from emp

start with empno=7839  --規定遍歷從屬關係樹的起點,boss

connect by prior empno = mgr; -- 規定了遍歷的方向

寫法5:使用函式 sys_connect_by_path 將關係直觀些

select lpad('',2*level-1)||sys_connect_by_path(ename,'/') "關係"

from emp

start with empno = 7839

connect by prior empno = mgr;

關係

Oracle多表聯查總結筆記

以兩表為例 語法 select別稱1.列名1,別稱2.列名n from表1 別稱1inner join表2.別稱2 on別稱1.公共列 別稱2.公共列 where查詢語句 例如 查詢員工編號,姓名,部門編號以及部門名稱 select別稱1.列名1,別稱2.列名n from表1 別稱1left out...

MySQL03 多表 事務

有兩個集合a,b 取這兩個集合的所有組成情況。要完成多表查詢,需要消除無用的資料 1.2.1 內連線查詢 1.隱式內連線 使用where條件消除無用資料 2.顯式內連線 1 select 字段列表 from 表名1 inner join 表名2 on 條件 3.內連線查詢總結 1.從哪些表中查詢資料...

oracle多表插入

發表 csdn 日期 20090828 在oracle中關於多表插入的有四種分別是 1.無條件的多表insert all 2.帶條件的多表insert all 3.帶條件的多表insert first 4 pivoting insert 語法 insert all first when condit...