rowid :用于定位數(shù)據(jù)庫中一條記錄的一個(gè)相對唯一的地址想邦,相當(dāng)于是該條記錄的虛擬內(nèi)存地址裹赴。通常情況下尔许,該值在該行數(shù)據(jù)插入到數(shù)據(jù)表時(shí)即被確定且唯一么鹤。rowid是一個(gè)偽列,實(shí)際不存在在表中味廊,是數(shù)據(jù)的真實(shí)地址根據(jù)一定的算法計(jì)算得出的蒸甜。數(shù)據(jù)的真實(shí)地址和rowid是可以相互算出來的棠耕。
rownum:rownum是在一個(gè)已經(jīng)查詢出的結(jié)果里,從上到下給查詢結(jié)果的編號柠新。
在結(jié)果有排序的情況下
如果按照主鍵進(jìn)行排序,先排序后確定rownum
如果根據(jù)非主鍵進(jìn)行排序,先確定rownum再排序
可以通過在rownum中挑選特定條數(shù)來實(shí)現(xiàn)分頁的效果
查詢所有用戶的信息及所在部門信息
查詢的數(shù)據(jù): 用戶信息 部門信息
來源: 用戶表 emp 部門表 dept
多個(gè)表中才能拿到我們想要的數(shù)據(jù)==連表查詢
92語法
select A from B,C
外鏈接:確認(rèn)主表(主表中的內(nèi)容會(huì)全部展示) +對面的表為主表,+所在的表為從表
左外連接 主表在,的左邊叫做左連接
右連接 主表在,的右邊叫做右連接
自連接 特殊的連接,自己連接自己 也可以自外鏈接
select * from emp e2,emp e1 where e1.mgr=e2.empno(+); --右連接
select * from emp e1,emp e2 where e1.mgr=e2.empno(+); --左連接
99寫法 交叉連接 cross join
select * from emp cross join dept
using 連接 指定字段等值連接
select * from emp join dept using(deptno);
非等值連接|等值連接 join ..on..
select * from emp join dept on emp.deptno = dept.deptno;
外連接
左外連接 left join .. on..
select * from emp e1 left join emp e2 on e1.mgr = e2.empno;
右外連接 right join .. on..
select * from emp e2 right join emp e1 on e1.mgr = e2.empno;