Professional Documents
Culture Documents
```````
FOR THE JOINING OF TWO OR MORE TABLES and displaying them as
a single table is known as joins.
(or)
(or)
inner join will display the common information present in both the
tables.
oracle syntax :-
```````````````
select *
from emp,dept
where emp.deptno=dept.deptno;
ANSI syntax :-
``````````````
select *
from emp join dept
on emp.deptno=dept.deptno;
oracle format :-
```````````````
SQL> select *
2 from emp,salgrade
3 where sal between losal and hisal;
14 rows selected.
ANSI format :-
```````````````
1 select *
2 from emp join salgrade
3* on sal between losal and hisal
SQL> /
14 rows selected.
3. SELF JOIN :-
`````````````
JOINING A TABLE AGAIN WITH ITSELF IS KNOWN AS SELF JOIN.
oracle syntax :-
```````````````
SQL> select *
2 from emp e,emp m
3 where e.mgr=m.empno;
13 rows selected.
Ansi format :-
``````````````
1 select *
2 from emp e join emp m
3* on e.mgr=m.empno
SQL> /
13 rows selected.
SQL>
emp - 14
dept - 4
14*4 - 56 records
oracle format:-
````````````````
SQL> select *
2 from emp,dept;
56 rows selected.
Ansi format :-
``````````````
1 select *
2* from emp cross join dept
3 /
56 rows selected.
5. OUTER JOIN :-
`````````````
OUTER JOIN WILL DISPLAY INNER JOIN INFORMATION AND
LEFTOUT DATA FROM TABLES.
outer join is divided into 3 types :-
oracle format :-
```````````````
1 select *
2 from emp,dept
3* where emp.deptno=dept.deptno(+)
SQL> /
14 rows selected.
ANSI Format :-
``````````````
1 select *
2 from emp left outer join dept
3* on emp.deptno=dept.deptno
SQL> /
EMPNO ENAME JOB MGR HIREDATE SAL COMM
DEPTNO DEPTNO DNAME LOC
---------- ---------- --------- ---------- --------- ---------- ----------
---------- ---------- -------------- -------------
7369 SMITH CLERK 7902 17-DEC-80 800
20 20 RESEARCH DALLAS
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300
30 30 SALES CHICAGO
7521 WARD SALESMAN 7698 22-FEB-81 1250 500
30 30 SALES CHICAGO
7566 JONES MANAGER 7839 02-APR-81 2975
20 20 RESEARCH DALLAS
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400
30 30 SALES CHICAGO
7698 BLAKE MANAGER 7839 01-MAY-81 2850
30 30 SALES CHICAGO
7782 CLARK MANAGER 7839 09-JUN-81 2450
10 10 ACCOUNTING NEW YORK
7788 SCOTT ANALYST 7566 19-APR-87 3000
20 20 RESEARCH DALLAS
7839 KING PRESIDENT 17-NOV-81 5000
10 10 ACCOUNTING NEW YORK
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0
30 30 SALES CHICAGO
7876 ADAMS CLERK 7788 23-MAY-87 1100
20 20 RESEARCH DALLAS
7900 JAMES CLERK 7698 03-DEC-81 950
30 30 SALES CHICAGO
7902 FORD ANALYST 7566 03-DEC-81 3000
20 20 RESEARCH DALLAS
7934 MILLER CLERK 7782 23-JAN-82 1300
10 10 ACCOUNTING NEW YORK
14 rows selected.
ANSI Format :-
```````````
1 select *
2 from emp right outer join dept
3* on emp.deptno=dept.deptno
QL> /
40 OPERATIONS BOSTON
5 rows selected.
Oracle format :-
````````````````
1 select *
2 from emp,dept
3* where emp.deptno(+)=dept.deptno
QL> /
40 OPERATIONS BOSTON
5 rows selected.
ANSI Format :-
``````````````
1 select *
2 from emp FULL OUTER JOIN dept
3* ON emp.deptno=dept.deptno
SQL> /
40 OPERATIONS BOSTON
15 rows selected.
NATURAL JOIN :-
`````````````
NATURAL JOIN WILL WORK LIKE EITHER INNER JOIN OR CROSS JOIN.
1 SELECT *
2* FROM EMP NATURAL JOIN DEPT
SQL> /
14 rows selected.
SQL> select *
2 from emp natural join salgrade;
70 rows selected.