ORACLE 連線查詢

2022-09-04 18:36:11 字數 1371 閱讀 9049

oracle----連線查詢

連線查詢包括:內連線1種,外連線3種

內連線:

inner join on (inner 可以省略不寫)

select *

from 表1

inner join 表2

on 表1.欄位1 = 表2.欄位1 and 表1.欄位2 = 表2.欄位2

select *

from emp e

join dept d

on e.deptno = d.deptno

where sal > 2000;

--笛卡爾積(oracle寫法)

select e.*,d.dname,d.loc

from emp e,dept d

where e.deptno = d.deptno;

外連線:

1、左外連線

select *

from 表1    --主表

left join 表2  --從表

on 表1.欄位1 = 表2.欄位1 and 表1.欄位2 = 表2.欄位2

select *

from emp e

left join dept d

on e.deptno = d.deptno;

--笛卡爾積(oracle寫法)

select e.*,d.dname,d.loc

from emp e,dept d

where e.deptno = d.deptno(+); --+代表從表

2、右外連線

select *

from 表1    --主表

right join 表2  --從表

on 表1.欄位1 = 表2.欄位1 and 表1.欄位2 = 表2.欄位2

select *

from emp e

right join dept d

on e.deptno = d.deptno;

--笛卡爾積(oracle寫法)

select e.*,d.dname,d.loc

from emp e,dept d

where e.deptno(+)= d.deptno; --+代表從表

3、全外連線(沒有從表)

select *

from 表1    

full join 表2  

on 表1.欄位1 = 表2.欄位1 and 表1.欄位2 = 表2.欄位2

select *

from emp e

full join dept d

on e.deptno = d.deptno;

連線方法有:等值連線,雜湊連線,排序合併,巢狀迴圈

oracle查詢連線

select from emp select from dept 左連線 1 查詢與左邊表dept 4 相關聯的資料,如deptno 40在右邊沒有對應的資料,則顯示為空 select from dept left join emp on dept.deptno emp.deptno 查詢與左邊表相...

Oracle連線查詢

1 內連線 select e.d.dname from emp e,dept d where e.deptno d.deptno 隱式內連線查詢實際的語句可以為 select e.d.dname from emp e inner join dept d on d.deptno e.deptno 2 ...

oracle連線查詢

8i create table dali.test1 a int,b int create table dali.test2 a int,b int insert into dali.test1 values 1,456 insert into dali.test1 values 2,427 ins...