Det finns olika kopplingar i Oracle som inre koppling, vänster yttre koppling, höger yttre koppling, full yttre koppling, korskoppling. Denna SQL-handledning tillhandahåller oracle join-syntax för var och en av dem med exempel
Inner Join-syntax och exempel
Två tabellexempel och syntax
VÄLJ EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME
FRÅN EMP , DEPT
där EMP. DEPTNO=DEPT. DEPTNO;
eller
ANSI-syntax
VÄLJ EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME
FRÅN EMP INNER JOIN DEPT
på EMP. DEPTNO=DEPT. DEPTNO;
eller
VÄLJ EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME
FRÅN EMP INNER JOIN DEPT
med (DEPTNO);
Exempel på inre koppling till flera tabeller
VÄLJ EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME,REGION.REGION_NAME
FRÅN EMP , DEPT,REGION
där EMP. DEPTNO=DEPT. DEPTNO
och DEPT.REGION_ID=REGION.REGION_NAME;
eller
VÄLJ EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME,REGION.REGION_NAME
FRÅN EMP
inner join DEPT på EMP. DEPTNO=DEPT. DEPTNO
inner join REGION på DEPT.REGION_ID=REGION.REGION_NAME;
eller
VÄLJ EMP.EMPNO,EMP.ENAME, DEPT.DEPTNO,DEPT.DNAME,REGION.REGION_NAME
FRÅN EMP inre join DEPT med (DEPTNO)
inner join REGION med (REGION_ID);
Cross Join-syntax och exempel
VÄLJ EMPNO,ENAME, DEPT.DEPTNO,DNAME FROM EMP , DEPT;
eller
SELECT EMPNO,ENAME, DEPT.DEPTNO,DNAME FRÅN EMP cross join DEPT;
Left Outer Join-syntax och exempel
välj empno,ename,emp.deptno,dname
från emp
LEFT OUTER JOIN avd
på emp.deptno=dept.deptno;
- teckensyntax
välj empno,ename,emp.deptno,dname
från emp ,dept där emp.deptno=dept.deptno(+);
- är på den sida där NULL förväntas och den är på höger sida
Right Outer Join-syntax och exempel
välj empno,ename,dept.deptno,dname
från emp
höger OUTTER JOIN avd
på emp.deptno=dept.deptno;
- teckensyntax
välj empno,ename,dept.deptno,dname
från emp ,dept där emp.deptno(+)=dept.deptno;
- är på den sida där NULL förväntas och den är på vänster sida
Fullständig Outer Join-syntax och exempel
select empno,ename,dept.deptno,dname
from emp
full OUTER JOIN dept
on emp.deptno=dept.deptno;
Relaterade artiklar
Oracle Joins
Nested Loop Join i Oracle
Various Joins Method i Oracle
Hash Join i Oracle