例項:查詢員工姓名和員工老闆姓名
分析:老闆也是員工,在員工表中。是查詢的同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...