Esistono vari join in Oracle come inner join, left outer join, right external join, full external join, cross join. Questo tutorial SQL fornisce la sintassi di Oracle join su ciascuno di essi con esempi
Sintassi di join interno ed esempio
Due tabelle esempi e sintassi
SELEZIONA EMP.EMPNO,EMP.ENAME, REPARTO.DEPTNO, REPARTO.DNAME
DA EMP , REPARTO
dove EMP. REPARTO=REPARTO DIPARTIMENTO;
o
sintassi ANSI
SELECT EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO, DEPT.DNAME
DA EMP INNER JOIN DEPT
su EMP. REPARTO=REPARTO DIPARTIMENTO;
o
SELECT EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO, DEPT.DNAME
DA EMP INNER JOIN DEPT
utilizzando (DEPTNO);
Esempio di join interno di più tabelle
SELECT EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME,REGION.REGION_NAME
DA EMP , DEPT,REGION
dove EMP. REPARTO=REPARTO DIPARTIMENTO
e DEPT.REGION_ID=REGION.REGION_NAME;
o
SELEZIONA EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME,REGION.REGION_NAME
DA EMP
inner unisciti a DEPT su EMP. REPARTO=REPARTO DEPTNO
inner join REGION su DEPT.REGION_ID=REGION.REGION_NAME;
o
SELECT EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME,REGION.REGION_NAME
DA EMP inner join DEPT utilizzando (DEPTNO)
inner join REGION utilizzando (REGION_ID);
Sintassi ed esempio Cross Join
SELECT EMPNO,ENAME, DEPT.DEPTNO,DNAME FROM EMP , DEPT;
o
SELECT EMPNO,ENAME, DEPT.DEPTNO,DNAME FROM EMP cross join DEPT;
Sintassi ed esempio Left Outer Join
select empno,ename,emp.deptno,dname
da emp
LEFT OUTER JOIN dept
on emp.deptno=dept.deptno;
- sintassi del segno
select empno,ename,emp.deptno,dname
da emp ,dept dove emp.deptno=dept.deptno(+);
- è sul lato dove è previsto NULL ed è sul lato destro
Sintassi ed esempi di join esterno destro
select empno,ename,dept.deptno,dname
da emp
right OUTER JOIN dept
on emp.deptno=dept.deptno;
- sintassi del segno
select empno,ename,dept.deptno,dname
da emp ,dept dove emp.deptno(+)=dept.deptno;
- è sul lato dove è previsto NULL ed è sul lato sinistro
Sintassi ed esempi di Full Outer Join
select empno,ename,dept.deptno,dname
da emp
full OUTER JOIN dept
on emp.deptno=dept.deptno;
Articoli correlati
Join di Oracle
Nested Loop Join in Oracle
Metodo di vari join in Oracle
Hash join in Oracle