SQL मे Joins का उपयोग दो या दो से अधिक Tables से Data को प्राप्त करने के लिए किया जाता है, जो Data के एक Group के रूप में दिखाई देने के लिए Joined हो जाता है.
SQL Join को Two Tables के लिए Common Values का उपयोग करके दो या दो से अधिक Tables से Combining Column के लिए किया जाता है.
SQL Queries मे दो या दो से अधिक Tables को Joining करने के लिये Join Keyword का उपयोग करते है.
Table में Joining होने के लिए Minimum Condition यह है की (n-1) जहां n Table के Number हो.
SQL मे Joins four type के होते है .
Inner
Outer
Left
Right
INNER Join एक Simple JOIN है जिसमें Result Query में Specified Qquality की Condition के अनुसार Comparison किए गए Data पर Based होता है.
SELECT column-name-list
from table-name1
INNER JOIN
table-name2
WHERE table-name1.column-name = table-name2.column-name;
इस Example में हम Class Table पर विचार करेंगे.
Customers ID | Name |
---|---|
7856 | Anna |
7126 | Muffy |
7836 | Bettie |
7156 | Betty |
7056 | Emma |
7446 | Sarah |
अब Class Info Table
Customers ID | Address |
---|---|
7856 | Mumbai |
7126 | Delhi |
7836 | Kolkata |
7156 | Bengaluru |
7056 | Hyderabad |
7446 | Chennai |
Inner JOIN query
SELECT * from class, class_info where class.id = class_info.id;
Customers ID | Name | Customers ID | Address |
---|---|---|---|
7856 | Anna | 7856 | Mumbai |
7126 | Muffy | 7126 | Delhi |
7836 | Bettie | 7836 | Kolkata |
7156 | Betty | 7156 | Bengaluru |
7056 | Emma | 7056 | Hyderabad |
7446 | Sarah | 7446 | Chennai |
Natural Join एक प्रकार का Inner Join होता है जो Column पर आधारित Same Name और Same Datatype दोनों Tables में शामिल होने के लिए Joined होता है.
SELECT *
from table-name1
NATURAL JOIN
table-name2;
इस Example में हम Class Table पर विचार करेंगे.
Customers ID | Name |
---|---|
7856 | Anna |
7126 | Muffy |
7836 | Bettie |
7156 | Betty |
7056 | Emma |
7446 | Sarah |
अब Class Info Table
Customers ID | Address |
---|---|
7856 | Mumbai |
7126 | Delhi |
7836 | Kolkata |
7156 | Bengaluru |
7056 | Hyderabad |
7446 | Chennai |
Natural join query
SELECT * from class NATURAL JOIN class_info;
Customers ID | Name | Address |
---|---|---|
7856 | Anna | Mumbai |
7126 | Muffy | Delhi |
7836 | Bettie | Kolkata |
7156 | Betty | Bengaluru |
7056 | Emma | Hyderabad |
7446 | Sarah | Chennai |
Left Outer Join से दो Table के Matched किए गए Data के साथ Result Table को Returns की जाती है जो Left Table की Remaining Rows और Right Table के Column के लिए Null होती है.
SELECT column-name-list
from table-name1
LEFT OUTER JOIN
table-name2
on table-name1.column-name = table-name2.column-name;
select column-name-list
from table-name1,
table-name2
on table-name1.column-name = table-name2.column-name(+);
इस Example में हम Class Table पर विचार करेंगे.
Customers ID | Name |
---|---|
7856 | Anna |
7126 | Muffy |
7836 | Bettie |
7156 | Betty |
7056 | Emma |
7446 | Sarah |
अब Class Info Table
Customers ID | Address |
---|---|
7856 | Mumbai |
7126 | Delhi |
7836 | Kolkata |
7156 | Bengaluru |
7056 | Hyderabad |
7446 | Chennai |
Left Outer Join Query
SELECT * FROM class LEFT OUTER JOIN class_info ON (class.id=class_info.id);
Customers ID | Name | Customers ID | Address |
---|---|---|---|
7856 | Anna | 7856 | Mumbai |
7126 | Muffy | 7126 | Delhi |
7836 | Bettie | 7836 | Kolkata |
7156 | Betty | 7156 | Bengaluru |
7056 | Emma | null | null |
7446 | Sarah | null | null |
Right Outer Join एक Result Table मे Two Tables के Matched Data के साथ Returns करता है और Right Table की Remaining Rows और Left Table के Columns के लिए Null करता है.
select column-name-list
from table-name1
RIGHT OUTER JOIN
table-name2
on table-name1.column-name = table-name2.column-name;
select column-name-list
from table-name1,
table-name2
on table-name1.column-name(+) = table-name2.column-name;
इस Example में हम Class Table पर विचार करेंगे
Customers ID | Name |
---|---|
7856 | Anna |
7126 | Muffy |
7836 | Bettie |
7156 | Betty |
7056 | Emma |
7446 | Sarah |
अब Class Info Table
Customers ID | Address |
---|---|
7856 | Mumbai |
7126 | Delhi |
7836 | Kolkata |
7156 | Bengaluru |
7056 | Hyderabad |
7446 | Chennai |
Right Outer Join Query
SELECT * FROM class RIGHT OUTER JOIN class_info on (class.id=class_info.id);
Customers ID | Name | Customers ID | Address |
---|---|---|---|
7856 | Anna | 7856 | Mumbai |
7126 | Muffy | 7126 | Delhi |
7836 | Bettie | 7836 | Kolkata |
7156 | Betty | 7156 | Bengaluru |
null | null | 7056 | Hyderabad |
null | null | 7446 | Chennai |