What is meant by +
sign right after column name while join in oracle .
Example :
select a,d,f,c
From table1, table 2
Where table1.x(+) = table2.y:
What is meant by +
sign right after column name while join in oracle .
Example :
select a,d,f,c
From table1, table 2
Where table1.x(+) = table2.y:
The (+) is used to indicate an outer join. It is placed on the side where the row in the table may be missing. That is old Oracle syntax I have known since Oracle 7. Presently, even Oracle encourages using ANSI syntax for joins.
That's the old Oracle's outer join operator.
Old:
SQL> SELECT d.deptno, d.dname, e.ename
2 FROM dept d, emp e
3 WHERE e.deptno (+) = d.deptno
4 ORDER BY d.deptno, e.ename;
DEPTNO DNAME ENAME
---------- -------------- ----------
10 ACCOUNTING CLARK
10 ACCOUNTING KING
10 ACCOUNTING MILLER
20 RESEARCH ADAMS
20 RESEARCH FORD
20 RESEARCH JONES
20 RESEARCH SCOTT
20 RESEARCH SMITH
30 SALES ALLEN
30 SALES BLAKE
30 SALES JAMES
30 SALES MARTIN
30 SALES TURNER
30 SALES WARD
40 OPERATIONS
15 rows selected.
Nowadays, we do it as
SQL> SELECT d.deptno, d.dname, e.ename
2 FROM dept d LEFT JOIN emp e ON e.deptno = d.deptno
3 ORDER BY d.deptno, e.ename;
DEPTNO DNAME ENAME
---------- -------------- ----------
10 ACCOUNTING CLARK
10 ACCOUNTING KING
10 ACCOUNTING MILLER
20 RESEARCH ADAMS
20 RESEARCH FORD
20 RESEARCH JONES
20 RESEARCH SCOTT
20 RESEARCH SMITH
30 SALES ALLEN
30 SALES BLAKE
30 SALES JAMES
30 SALES MARTIN
30 SALES TURNER
30 SALES WARD
40 OPERATIONS
15 rows selected.
SQL>