Follow

16 नवंबर 2022

SQL Joining Multiple Tables in Hindi

SQL JOIN MULTIPLE TABLES 


Oracle से दो या दो से अधिक Tables को आपस में Merge करके एक नई Table प्राप्त की जाती है , इस Operation को join operation कहाँ जाता है | Joining operation के लिए SQL query या statement compute किया जाता है अतः इसे SQL join भी कहते है Oracle में join operation को निम्न 3 श्रेणी में divide किया गया है | 

(01)  INNER JOIN 

(02)  OUTER JOIN 

(03)  CROSS JOIN 


(01) INNER JOIN :-

इसे मुख्य रूप से Equi join भी कहते है , क्यूंकि इस ज्वाइन के SQL statement में equivalence operator (=) के द्वारा दो अलग Tables के दो columns की तुलना की जाती है, तथा परिणाम में वे सभी Rows आती है जिनके लिए तुलना किये columns का मान match हो जाता है, यह अधिकांश use होने वाला ज्वाइन ऑपरेशन है | 

 


SELECT <colm1> -----<col N >

        FROM <table1>  INNER JOIN <table2>

        ON <table1>. <Match colm >=<table2>. <Match colm >

             WHERE <condition>

                ORDER BY <colm1>-------<colm N >;

 

 

जहाँ <Match colm> एक ऐसा कॉलम है जो मुख्य रूप से join होने वाली दोनों Tables में common रूप से होता है एवं जिसके आधार पर यह JOINING होती है | 

                                                  EMP

Emp id

Name

01

Suresh

02

Mahesh

03

Mukesh

04

Ramesh

                                        

                                          ORDERS

PRODUCT ID

PRODUCT

EMP ID

234

Printer

01

233

Table

03

267

Chair

04

288

Laptop

02

 

       



इस प्रकार इन दोनों Tables को INNER  JOIN Operation के माध्यम से इस प्रकार joint किया जावेगा | 

                  

SELECT Emp.name , ORDERS. Product 

                     FROM Emp INNER JOIN ORDERS 

                 ON Emp. Empid =ORDERS. Empid ;

 

 


इस प्रकार दोनों Table को आपस में जोड़कर एक नई Table प्राप्त की जावेगी वे ही Records होंगे जो दोनों टेबल्स से match होंगे तथा वे record जो match  नहीं होंगे वे पूरी तरह remove हो जाते है 

                                                        

NAME

Product

Suresh

Printer

Mukesh

Table

Ramesh

Chair

 


(02) OUTER JOIN :-

यह JOIN Operation INNER JOIN की तरह ही होता है जो दो Tables को आपस में JOIN होने की Independence देता है, यह स्वतंत्रा डाटा पर या उसके nature पर depend करती है , ये दो प्रकार दे होते है -
(A) Left Join :- इस JOIN Operation में बांयी ओर की Table की सभी Rows (tupples ) परिणाम में प्राप्त होती है चाहे वे दूसरी table या Right side के tupples वे ही परिणाम में होंगे जो Left से Match करते है | इसके अलावा बांयी table के कुछ tupple के column के मान यदि match नहीं करते है तो परिणामी table में उस स्थान पर NULL keyword आ जाता है | 


SYNTAX  

 

SELECT <field1, field2, field3>

FROM <first table>

LEFT JOIN <second table>

ON <first table. Keyfield> = <second table. Foreignkey>;

 

 

EXAMPLE

 

SELECT EMP, NAME, ORDERS, Product

FROM EMP

LEFT JOIN ORDERS

ON EMP, EMP id = ORDERS.EMP id

 

 

OUTPUT

                      NAME

                           Product

                       Suresh 

                           Printer

                       Mahesh

                            Null

                      Mukesh

                            Table

                     Ramesh

                            Chair

 

 

(B) RIGHT JOIN :-

 इस JOIN Operation के अनुसार इसमें दोनों Tables JOIN होती है जिसमे दांयी ओर की Table के सभी Rows (truooles ) परिणामी Table में आते है एवं Table के वे ही tupple इसमें रखे जाते है जो दोनों Table से match होते हो तथा दांयी table में ऐसे tupple जो match न हो रखे हो तब उनके स्थान पर NULL keyword रखा जाता है | 


SYNATAX

SELECT <field1,field2,field3>

FROM <first table>

RIGHT JOIN <second Table>

ON <first table.keyfield>=<second table.foreignfield>;

 

EXAMPLE

SELECT EMP.NAME, ORDERS.Product

FROM EMP

RIGHT JOIN ORDERS

ON

EMP.Empid =ORDERS Empid;

 

Output

NAME

Product

Suresh

Printer

Mukesh

Table

Ramesh

Chair

NULL

NULL

 

(03) CROSS JOIN :-

यह JOIN Operation मुख्य रूप से दो table के बीच carfiscian product operation करते हुए उन्हें JOIN करता है | इसके अनुसार Left Table की प्रत्येक ROW को Right table की प्रत्येक ROW से जोड़कर result को table में show करता है | 


SYNTAX

SELECT <field1,field3----field4>

FROM <table1>

CROSS JOIN <table2>;

 

उदाहरण के लिए दो Table "Person " तथा "Address "है | 

                                          Person                                              

SNO

NAME

01

Mahesh

02

Mohan

 

                                           Address

SNO

CITY

01

INDORE

 02

JAYPUR

 

 इन दोनों के बीच CROSS JOIN perform करने पर 


SELECT Perso.Name, Addresh, City

FROM Person CROSS JOIN Address;

 

इसका परिणाम होगा -

Name

City

Mahesh

Indore

Mohan

Mubai

Prakash

Tikamgrah

 


कोई टिप्पणी नहीं:

एक टिप्पणी भेजें

Deadlock in Hindi - डेडलॉक क्या है? - MySQL

Hello Friends ! आज हम इस post में Deadlock के बारें में पढेंगे और इसकी conditions को भी देखेंगे. इसे आप पूरा पढ़िए. आपको यह आसानी से समझ आ ज...