Oracle 92語法和99語法

2021-09-22 20:12:49 字數 2034 閱讀 1813

--笛卡爾積

--使用的字段,是多個表中存在的,指定欄位的**

select empno,emp.deptno from emp,dept;

--等值連線  可以是相同名字的字段,也可以是非相同名字的字段,但是要保證兩個欄位的型別相同

select

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

select

*from emp,dept where emp.ename=dept.dname;

--沒有滿足條件的資料

--非等值連線

--薪資2500的等級資訊

select

*from salgrade where

2500

between losal and hisal;

--查詢所有員工的資訊及工資等級資訊

select

*from emp e,salgrade s where e.sal between s.losal and s.hisal;

需求:想要期中的某張表中所有的資料全部展示,無論是否滿足等值連線條件 --外鏈結

左外連線 主表在,的左邊叫做左連線

右連線 主表在,的右邊叫做右連線

自連線 特殊的連線,自己連線自己 也可以自外鏈結

select

*from emp e2,emp e1 where e1.mgr=e2.empno(+)

;--右連線

select

*from emp e1,emp e2 where e1.mgr=e2.empno(+)

;--左連線

select

*from emp e1,emp e2 where e1.mgr=e2.empno;

--自連線

--92寫法

select

*from emp ,dept;

--99寫法 交叉連線 cross join

select

*from emp cross

join dept;

1. 自然連線  natural join  內部自動查詢同名字段|主外來鍵關係 自動實現等值連

2. 不能指定限定詞

select deptno from emp natural

join dept;

select

*from emp join dept using

(deptno)

;

select

*from emp join dept on emp.deptno = dept.deptno;

--查詢10和30部門的員工的名稱,部門名稱,薪資,薪資等級,上級名稱

select e.ename, d.dname, e.deptno, e.sal, s.grade, m.ename

from emp e

join emp m

on e.mgr = m.empno

join salgrade s

on e.sal between s.losal and s.hisal

join dept d

on e.deptno = d.deptno

where deptno in(10

,30);

--外連線

--左外連線 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;

sql92語法,sql99語法,連線查詢

連線查詢的分類 按年代分為sql192標準僅僅支援內連線,sql199標準支援內連線,左外連線,右外連線,交叉連線 按功能分為內連線,外連線,交叉連線 sql92標準 內連線包括1.等值連線 select name,boyname form boys,beauty where beauty.boyf...

oracle資料庫92語法

多表連線 92語法 99語法 笛卡爾積 select from dept,emp 找出30部門的員工名稱及部門名稱 select ename,dname from emp e,dept d where e.deptno d.deptno and e.deptno 30 先連線後判斷 select e...

Oracle9 2修改IP後的操作

oracle9.2修改ip後的操作 1.除了需要修改這些檔案以外,sqlnet.ora,tnsnames.ora和listener.ora。2.還要修改密碼檔案。d oracle ora92 database orapwd file pwdoralocal.ora password mypasswo...