Tuesday, December 17, 2019

Joins

The SQL Joins clause is used to combine records from two or more tables in a database. A JOIN is a  means for combining fields from two tables by using values common to each.
Consider the following two tables
CUSTOMERS Table




ID



NAME



AGE



ADDRESS



SALARY



1



Ramesh



32



Ahmedabad



2000.00



2



Khilan



25



Delhi



1500.00



3



kaushik



23



Kota



2000.00



4



Chaitali



25



Mumbai



6500.00



5



Hardik



27



Bhopal



8500.00



6



Komal



22



MP



4500.00



7



Muffy



24



Indore



10000.00



ORDERS Table




OID



DATE



CUSTOMER_ID



AMOUNT



102



2009-10-08 00:00:00



3



3000



100



2009-10-08 00:00:00



3



1500



101



2009-11-20 00:00:00



2



1560



103



2008-05-20 00:00:00



4



2060


Join these two tables in our SELECT statement as shown below.

SELECT ID, NAME, AGE, AMOUNT
   FROM CUSTOMERS, ORDERS
   WHERE CUSTOMERS.ID = ORDERS.CUSTOMER_ID;
Output:



ID



 NAME    



 AGE



 AMOUNT



  3



 kaushik 



  23



   3000



  3



 kaushik 



  23



   1500



  2



 Khilan  



  25



   1560



  4



 Chaitali



  25



   2060


Basic SQL Join Types
There are four basic types of SQL joins: inner, left, right, and full. 
Inner Join

The most important and frequently used of the joins is the INNER JOIN. They are also referred to as an EQUIJOIN. The INNER JOIN creates a new result table by combining column values of two tables (table A and table B) based upon the join-predicate. The query compares each row of table A with each row of table B to find all pairs of rows which satisfy the join-predicate. When the join-predicate is satisfied, column values for each matched pair of rows of A and B are combined into a result row.


The basic syntax of the INNER JOIN is as follows.

SELECT table1.column1, table2.column2...
FROM table1
INNER JOIN table2
ON table1.common_field = table2.common_field;

Example:

SELECT  ID, NAME, AMOUNT, DATE
   FROM CUSTOMERS
   INNER JOIN ORDERS
   ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;

Output:



ID



 NAME    



 AMOUNT



 DATE               



  3



 kaushik 



  
3000



 2009-10-08 00:00:00



  3



 kaushik 



  
1500



 2009-10-08 00:00:00



  2



 Khilan  



  
1560



 2009-11-20 00:00:00



  4



 Chaitali



  
2060



 2008-05-20 00:00:00



Left Join

The SQL LEFT JOIN returns all rows from the left table, even if there are no matches in the right table. This means that a left join returns all the values from the left table, plus matched values from the right table or NULL in case of no matching join predicate.



The basic syntax of a LEFT JOIN is as follows.

SELECT table1.column1, table2.column2...
FROM table1
LEFT JOIN table2
ON table1.common_field = table2.common_field;

Example:

SELECT  ID, NAME, AMOUNT, DATE  FROM CUSTOMERS
   LEFT JOIN ORDERS ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;

Output:



ID



 NAME    



 AMOUNT



 DATE               



  1



 Ramesh  



  
NULL



 NULL               



  2



 Khilan  



  
1560



 2009-11-20 00:00:00



  3



 kaushik 



  
3000



 2009-10-08 00:00:00



  3



 kaushik 



  
1500



 2009-10-08 00:00:00



  4



 Chaitali



  
2060



 2008-05-20 00:00:00



  5



 Hardik  



  
NULL



 NULL               



  6



 Komal   



  
NULL



 NULL               



  7



 Muffy   



  
NULL



 NULL               


Right Join

The SQL RIGHT JOIN returns all rows from the right table, even if there are no matches in the left table. This means that a right join returns all the values from the right table, plus matched values from the left table or NULL in case of no matching join predicate.



The basic syntax of a RIGHT JOIN is as follow.

SELECT table1.column1, table2.column2...
FROM table1
RIGHT JOIN table2
ON table1.common_field = table2.common_field;

Example:

SELECT  ID, NAME, AMOUNT, DATE
   FROM CUSTOMERS
   RIGHT JOIN ORDERS
   ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;

Output:




ID



NAME



AMOUNT



DATE



3



kaushik



3000



2009-10-08 00:00:00



3



kaushik



1500



2009-10-08 00:00:00



2



Khilan



1560



2009-11-20 00:00:00



4



Chaitali



2060



2008-05-20 00:00:00



Full Join

The SQL FULL JOIN combines the results of both left and right outer joins. The joined table will contain all records from both the tables and fill in NULLs for missing matches on either side.


The basic syntax of a FULL JOIN is as follows

SELECT table1.column1, table2.column2...
FROM table1
FULL JOIN table2
ON table1.common_field = table2.common_field;

Example:

SELECT  ID, NAME, AMOUNT, DATE
   FROM CUSTOMERS
   FULL JOIN ORDERS
   ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;

Output:




ID  



 NAME    



 AMOUNT



 DATE               



    1



 Ramesh  



  
NULL



 NULL               



    2



 Khilan  



  
1560



 2009-11-20 00:00:00



    3



 kaushik 



  
3000



 2009-10-08 00:00:00



    3



 kaushik 



  
1500



 2009-10-08 00:00:00



    4



 Chaitali



  
2060



 2008-05-20 00:00:00



    5



 Hardik  



  
NULL



 NULL               



    6



 Komal   



  
NULL



 NULL               



    7



 Muffy   



  
NULL



 NULL               



    3



 kaushik 



  
3000



 2009-10-08 00:00:00



    3



 kaushik 



  
1500



 2009-10-08 00:00:00



    2



 Khilan  



  
1560



 2009-11-20 00:00:00



    4



 Chaitali



  
2060



 2008-05-20 00:00:00




0 comments:

Post a Comment

Data Structures with C++



NET/SET/CS PG



Operating Systems



Computer Networks



JAVA



Design and Analysis of Algorithms



Programming in C++

Top