Joins in SQL in Hindi

Join का अर्थ है कुछ चीजों को Combine करना, SQL के संदर्भ मे Join का का अर्थ दो या दो से अधिक Tables को Combine करना है SQL Join Clause एक Database मे दो या अधिक Tables से Records लेकर उसे एक साथ Combine कर देता है 

Join Function के साथ अक्सर Where Clause का प्रयोग उस समय किया जाता है जब दो या अधिक Tables के पास Common Columns या Fields होते है अतः Join Operations आपको एक Query में कई Tables से Data प्राप्त करने तथा Common Fields या Columns के आधार पर एक Table के Rows को अन्य Table के Rows से Link करने की अनुमति देते है।

Types of Joins in SQL in Hindi - SQL में Joins के प्रकार

SQL मे निम्न Joins पाए जाते है
1) Inner Join
2) Self Join
3) Outer Join
इसके निम्न प्रकार है
i) Left Join or Left Outer Join
ii) Right Join or Right Outer Join
iii) Full Join or Full Outer Join
4) Cross Join

Inner Join


Inner Join मे दो या दो से अधिक Tables के ऐसे Rows Return होते है जिनके Specified Columns के Values Match होते है या उनके Columns मे समान Values पाए जाते है Inner Join का प्रयोग विभिन्न Tables के Common Column या Fields के आधार पर उनके Rows को Combine कर उन्हें एक साथ प्रदर्शित करने के लिए होता है।

Syntax:

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

Example:

मान लीजिए हमारे पास दो Tables employees और contactdetails है जिसमे eid Column दोनो मे समान है जिसके आधार पर हम दोनो Tables को Join करेंगे।


नीचे दोनों Tables के लिए eid Field के आधार पर Inner Join
किया गया हैै जब दोनो Tablés में eid Field की Values समान होगी उसी Records को प्रदर्शित किया जाएगा  जैसे 101, 103, 104 दोनों Tables में उपस्थित है अतः उसी का Records ही प्रदर्शित होगा।


Self Join

Self Join SQL में Join Operations का ही एक प्रकार है जहां Table खुद के साथ ही Joined होता है इसका प्रयोग उस समय Useful होता है जब एक ही Table के विभिन्न Rows को Compare करने की आवश्यकता हो 

Self Join को Perform करने के लिए हमे Table Name के लिए Alias(उपनाम) की जरुरत होती है ताकि आप एक ही Table के दो Instance में अंतर कर सके उसके बाद इन aliases का प्रयोग एक Table के विभिन्न Columns के References के रुप में Use किया जाता हैै।

Syntax:

SELECT columns name
FROM tablename AS t1
JOIN tablename AS t2
ON t1.columnname = t2.columnname;

Example:

Self Join को समझने के लिए मान लीजिए हमारे पास personal नाम से एक Table है जिसमे ID, NAME, PLACE और AGE नामक 4 Fields है ID और AGE Fields की कुछ Values समान है जिसके आधार पर Self Join किया जायेगा।


Self Join Apply करने पर निम्न Result प्राप्त होता है जिसमे 
p1 और p2 personal नामक एक Table के लिए aliases है इस Table मे ID(p1 के लिए) तथा AGE (p2 के लिए) Fields के आधार पर Self Join किया गया है और उन Fields(ID और AGE) के Common Values (20, 30, 40) के आधार पर Records निम्न प्रकार से दिखाया गया है।

Outer join

यह भी join Operation का एक प्रकार है जो पहले Table के पूरे Rows को तथा दूसरे Table के Match हो रहे Rows को प्रदर्शित करता है यदि अन्य Table मे Matching Rows नही है तब पहले Table के पूरे Rows तथा दूसरे Table के Columns Null Values के साथ प्रदर्शित होंगे।

ये निम्न प्रकार के होते
i) Left Join or Left Outer Join
ii) Right Join or Right Outer Join
iii) Full Join or Full Outer Join

Left Join or Left Outer Join

Left Join, Left Table के सभी Rows को तथा Join Condition के आधार पर Right Table के Match होने वाले Rows को Return करता है यदि Right Table में कोई भी Matching Rows नही मिलते तब Right Table के Columns Null Value के साथ Return होते है।


Syntax:

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

Example:

इसे समझने के लिए हमारे पास दो Tables employees और contactdetails है जिसे eid Field जो दोनो Tables में उपस्थित है के आधार पर Join करेंगे।


Left join Apply करने पर निम्न Result प्राप्त होगें।


ऊपर के Example में Left Table (employees) के पूरे Records है और Right Table (contactdetails) के वहीं Records होंगे जो Left Table के eid Field के Data से Match करते है 

जैसे 101, 103, 104 दोनों में Common Values है अतः Right Table के यही Records दिखेंगे परंतु Left Table के सब Records प्रदर्शित होंगे क्योंकि यह Left Outer Join या Left Join है।

Right Join or Right Outer Join

Right Join Right Table के सभी Rows को तथा Join Condition के आधार पर Left Table के Match होने वाले Rows को Return करता है यदि Left Table में कोई भी Matching Rows नही मिलते तब Left Table के Columns Null Value के साथ Return होते है।


Syntax:

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

Example:

नीचे Right Table (contactdetails) के पूरे Records है और Left Table (employees) के वहीं Records होंगे जो Right Table के eid Field के Data से Match करते है जैसे 101, 103, 104 दोनों में Common Values है।

अतः Left Table के यही Records दिखेंगे परंतु Right Table के सब Records प्रदर्शित होंगे क्योंकि यह  Right Outer Join है।

Full Join or Full Outer Join

SQL में एक Full outer Join एक left outer join और एक right outer join के Result को Combine करता है यह दिए गए Condition के आधार पर Rows को Match करता है और दोनो Tables से सभी Rows को Return करता है।

Syntax:

SELECT column1, column2, column3...
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;

Example:

SELECT * FROM 
employees FULL JOIN
contactdetails 
on employees.eid = contactdetails.eid

इसमे दोनो Tables के Common Fields (101, 103, 104) वाले Records तो दिखेंगे ही लेकिन Left और Right Table के बचे Rows भी प्रदर्शित होंगे।

Cross join


Cross Join SQL मे Join का एक प्रकार
है जो दो या दो से अधिक Tables के Rows के सभी Match होने वाले Rows को प्रदर्शित करता है

जब बिना Where Clause के साथ Cross Join का Use किया जाता उस समय First Table के Rows की संख्या Second Table के Rows की संख्या के साथ Multiple कर एक Result Set को प्रदर्शित किया जाता है।

इस प्रकार के Result को Cartesian Product कहते है जब Cross Join को Where Clause के साथ Use किया जाता है तब इसे Inner Join कहते है।

Syntax:

SELECT *
FROM first_table
CROSS JOIN second_table;

Example:

नीचे पहले Table (employees) के eid के पहले Record(101) को दूसरे Table (contactdetails) के eid के पूरे Records (101,103,104,106) से Multiple किया जायेगा।

पुन: पहले Table के दूसरे Record(102) को दूसरे Table के पूरे Records (101,103,104,106) से Multiple किया जायेगा जब तक पहले Table के पूरे Records समाप्त न हो जाए।


UNION Clause in Hindi

SQL मे UNION clause का उपयोग दो या दो से अधिक Select Statement के Result को एक Single Result में Combine करने के लिए किया जाता है इसका प्रयोग उस समय किया जाता है जब हम कई Tables या Queries से Data प्राप्त कर उसे Results के एक Single Set में प्रस्तुत करना चाहते है। 

जब हम UNION का Use करते है तब SQL Engine Select Statement के Results को Combine करता है तथा Duplicate Rows को हटा देता है ताकि Final Result Set में केवल Unuque Rows शामिल रहे।

Syntax:

SELECT column1, column2, column3 ... 
FROM table1 
UNION 
SELECT column1, column2, column3... 
FROM table2 
UNION 
SELECT column1, column2, column3 ... 
FROM table3 
...

Example:

हमारे पास दो Tables (emp1 और emp2)है जिस पर Union clause का प्रयोग करेंगे।


ऊपर के Table में Union Clause Apply करने पर Result में दोनो Table को Combine किया गया और Duplicate Row को हटा दिया गया जैसे ID 11 वाले Duplicate Row को हटाया गया है।

UNION ALL Clause in Hindi

SQL में UNION ALL clause UNION clause के समान ही है परंतु UNION ALL Clause Result Set से Duplicate Rows को नही हटाता बल्कि बिना किसी प्रकार के Sorting और Duplicate को हटाए SELECT statements के Result को Concatenate(जोड़ना) कर देता है 

Syntax:

SELECT column1, column2, column3... 
FROM table1 
UNION ALL 
SELECT column1, column2, column3... 
FROM table2 
UNION ALL 
SELECT column1, column2, column3... 
FROM table3 
...

Example:

नीचे के Table में Union Clause Apply करने पर Result में दोनो Table को Combine किया गया और इसमे Union Clause की भांति Duplicate Rows को नही हटाया गया है।


Difference between Union Clause and Join Clause

1) एक Join Operations दो या अधिक Tables से Rows को उनके बीच सम्बंधित Columns के आधार पर Combine करता है

एक Union Operations Select Statement के दो या अधिक Results को एक Single Result Set में Combine करता है

2) Join में Result Set में विभिन्न प्रकार के Data Types हो सकते है

Union में प्रत्येक Select Statement के Result Set में Same Data Types होना चाहिए

3) Join Duplicate Rows को नही हटाता

Union विभिन्न Select Statement के बीच Duplicate Rows को हटाता है

4) Join Records को नए Column मे Combine करता है

Union Records को नए Rows मे Combine करता है

5) Join एक या अधिक Tables के Data को Horizontally Combine करता है

Union Data को Vertically Combine करता है

6) Union clause के दो प्रकार होते है Union और Union All

Join के कई विभिन्न प्रकार होते है
Inner Join or Join
Left Join or Left Outer Join
Right Join or Right Outer Join
Full Join or Outer Join

 Related Posts
> SQL में Database, Create, Alter, Show Use और Drop करना
> SQL में Data Types की सम्पूर्ण जानकारी
> SQL में Table Create, Alter, Drop और Constraints की संपूर्ण जानकारी
> SQL मे DDL, DML, DCL, TCL और DQL Commands को जाने
> Insert, Select, Update, Delete (All DML commands) in MySQL & SQL
> SQL Operators की संपूर्ण जानकारी