Documente Academic
Documente Profesional
Documente Cultură
Displaying Data
from Multiple Tables
Cartesian
product:
20x8=160 rows
…
Oracle
Oracle Proprietary
Proprietary SQL:
SQL: 1999
1999
Joins
Joins (8i
(8i and
and prior):
prior): Compliant
Compliant Joins:
Joins:
• Equijoin • Cross joins
• Non-equijoin • Natural joins
• Outer join • Using clause
• Self join • Full or two sided outer
joins
• Arbitrary join conditions
for outer joins
… …
… …
DEPARTMENTS EMPLOYEES
…
There are no employees in
department 190.
• You use an outer join to also see rows that do not meet
the join condition.
• The Outer join operator is the plus sign (+).
SELECT
SELECT table1.column,
table1.column, table2.column
table2.column
FROM
FROM table1,
table1, table2
table2
WHERE
WHERE table1.column(+)
table1.column(+) == table2.column;
table2.column;
SELECT
SELECT table1.column,
table1.column, table2.column
table2.column
FROM
FROM table1,
table1, table2
table2
WHERE
WHERE table1.column
table1.column == table2.column(+);
table2.column(+);
… …
SELECT
SELECT table1.column,
table1.column, table2.column
table2.column
FROM
FROM table1
table1
[CROSS
[CROSS JOIN
JOIN table2]
table2] ||
[NATURAL
[NATURAL JOIN
JOIN table2]
table2] ||
[JOIN
[JOIN table2
table2 USING
USING (column_name)]
(column_name)] ||
[JOIN
[JOIN table2
table2
ON(table1.column_name
ON(table1.column_name == table2.column_name)]
table2.column_name)] ||
[LEFT|RIGHT|FULL
[LEFT|RIGHT|FULL OUTER
OUTER JOIN
JOIN table2
table2
ON
ON (table1.column_name
(table1.column_name == table2.column_name)];
table2.column_name)];