JOINS

What is join ?
  •  A join is a query that combines rows from two or more tables, views or materialized views.
  •  A join is performed whenever multiple tables appear in the queries FROM clause.
  •  The queries SELECT list can select any columns from any of these tables.
  •  The common column names within the tables should quality all references to these columns.
  •  When writing a SELECT statement that joins tables, precede the column name with the table name for clarity and enhance database access.
  •  If the same column name appears in more than one table, the column name must be prefixed with the table name.
  •  To join ‘n’ tables together, we need a minimum of ‘n-1’ join conditions.
  •  The oracle optimizer determines the order in which ORACLE should join the tables based on…
o   Given join conditions.
o   INDEXES upon the tables.
o   STATISTICS for the tables.

Join Condition :

§  Many join queries contain WHERE clause, which compares two columns, each from a different table.The applied condition is called JOIN CONDITION.
§  To execute a join, Oracle combines pairs of rows, each containing one row from each table, for which the JOIN condition evaluates to TRUE.
§  The columns in the join condition need not be part of the SELECT list.
§  The WHERE clause of join query can also contain other conditions that refer to columns of only one table.
§  To execute a join of 3 or more table…,
Oracle first joins two of the tables based on the join conditions comparing these columns and then jon’s the result to another table.

Syntax : WHERE table1.Column1=Table2.Column2
Example : -

SQL> SELECT empno, ename, dname, loc FROM emp,dept;
SQL> SELECT empno, ename, losal, grade FROM emp,salgrade;
SQL> SELECT empno, ename, dname, loc, grade FROM emp,dept,salgrade;


Things to Remember About Joins : 
  • The columns specified in the join condition need not be specified in the SELECT list. 
  • Usually the join condition is specified on the foreign key columns of one table and the primary key or unique key columns of another table. However, you can specify other columns as well. Each join condition involves columns that relate two tables.
  • A join condition may involve more than one column. This is usually the case when a foreign key constraint consists of multiple columns.
  • The total number of join conditions is always equal to the total number of tables less one.
  • A join condition must involve columns with compatible datatypes. Note that the datatype of the columns involved in a join condition need to be compatible, not the same. Oracle performs automatic datatype conversion between the join columns, if required.
  • It is not necessary that a join condition involve the equal to (=) operator. A join condition may contain other operators as well. 

No comments:

Post a Comment

Infolinks In Text Ads