V Oracle existují různé spoje jako vnitřní spojení, levé vnější spojení, pravé vnější spojení, úplné vnější spojení, křížové spojení. Tento výukový program SQL poskytuje syntaxi spojení Oracle pro každý z nich s příklady
Syntaxe a příklad vnitřního spojení
Příklady a syntaxe dvou tabulek
VYBERTE EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME
FROM EMP , DEPT
kde EMP. DEPTNO=DEPT. DEPTNO;
nebo
Syntaxe ANSI
VYBERTE EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME
Z EMP INNER JOIN DEPT
na EMP. DEPTNO=DEPT. DEPTNO;
nebo
VYBERTE EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME
Z EMP INNER JOIN DEPT
pomocí (DEPTNO);
Příklad vnitřního spojení více tabulek
VYBERTE EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME,REGION.REGION_NAME
Z EMP , DEPT,REGION
kde EMP. DEPTNO=DEPT. DEPTNO
a DEPT.REGION_ID=REGION.REGION_NAME;
nebo
VYBERTE EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME,REGION.REGION_NAME
Z EMP
vnitřní spojení DEPT na EMP. DEPTNO=DEPT. DEPTNO
vnitřní připojení REGION na DEPT.REGION_ID=REGION.REGION_NAME;
nebo
VYBERTE EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME,REGION.REGION_NAME
Z vnitřního spojení EMP DEPT pomocí (DEPTNO)
vnitřního spojení REGION pomocí (REGION_ID);
Syntaxe a příklad Cross Join
VYBERTE EMPNO,ENAME, DEPT.DEPTNO,DNAME FROM EMP , DEPT;
nebo
SELECT EMPNO,ENAME, DEPT.DEPTNO,DNAME FROM EMP cross join DEPT;
Syntaxe a příklad levého vnějšího spojení
vyberte empno,ename,emp.deptno,dname
z emp
LEVÉ VNĚJŠÍ oddělení PŘIPOJENÍ
na emp.deptno=dept.deptno;
- syntaxe znaménka
vyberte empno,ename,emp.deptno,dname
z emp ,dept where emp.deptno=dept.deptno(+);
- je na straně, kde se očekává NULL, a je na pravé straně
Syntaxe a příklady pravého vnějšího spojení
vyberte empno,ename,dept.deptno,dname
z emp
vpravo OUTER JOIN dept
na emp.deptno=dept.deptno;
- syntaxe znaménka
vyberte empno,ename,dept.deptno,dname
z emp ,dept where emp.deptno(+)=dept.deptno;
- je na straně, kde se očekává NULL, a je na levé straně
Syntaxe a příklady úplného vnějšího spojení
select empno,ename,dept.deptno,dname
from emp
full OUTER JOIN dept
on emp.deptno=dept.deptno;
Související články
Oracle Joins
Připojení vnořené smyčky v Oracle
Různé metody spojení v Oracle
Hash spojení v Oracle