(INNER) JOIN: Her iki tabloda da eşleşen değerlere sahip kayıtları döndürür.
SOL (DIŞ) BİRLEŞTİR: Sol tablodan tüm kayıtları ve sağ tablodan eşleşen kayıtları döndürür.
SAĞ (DIŞ) BİRLEŞTİR: Tüm kayıtları sağ tablodan ve eşleşen kayıtları sol tablodan döndürür.
FULL (OUTER) JOIN: Sol veya sağ tabloda bir eşleşme olduğunda tüm kayıtları döndürür
Örneğin, aşağıdaki kayıtları içeren iki tablonuz olduğunu varsayalım:
Tablo A
id firstname lastname
___________________________
1 Ram Thapa
2 sam Koirala
3 abc xyz
6 sruthy abc
Tablo B
id2 place
_____________
1 Nepal
2 USA
3 Lumbini
5 Kathmandu
İç birleşim
Not: İki tablonun kesişimini verir.
Sözdizimi
SELECT column_name FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
Örnek tablonuza uygulayın:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA INNER JOIN TableB ON TableA.id = TableB.id2;
Sonuç:
firstName lastName Place
_____________________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
Sol yönden katılım
Not: TableA'da seçilen tüm satırların yanı sıra TableB'de seçilen tüm sıraları verir.
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
Örnek tablonuza uygulayın
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA LEFT JOIN TableB ON TableA.id = TableB.id2;
Sonuç:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
sruthy abc Null
Doğru Katılma
Not: TableB'de seçilen tüm satırların yanı sıra TableA'da seçilen tüm sıraları verir.
Sözdizimi:
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;
Samole masanıza uygulayın:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA RIGHT JOIN TableB ON TableA.id = TableB.id2;
Sonuç bw olacaktır:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
Null Null Kathmandu
Tam Katılma
Not: Birleştirme işlemi ile aynıdır, her iki tabloda da seçilen tüm değerleri döndürür.
Sözdizimi:
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;
Numunenize uygulayın [le tablosu:
SELECT TableA.firstName,TableA.lastName,TableB.Place FROM TableA FULL JOIN TableB ON TableA.id = TableB.id2;
Sonuç:
firstName lastName Place
______________________________
Ram Thapa Nepal
sam Koirala USA
abc xyz Lumbini
sruthy abc Null
Null Null Kathmandu
Bazı gerçekler
INNER katılımları için siparişin önemi yok
(SOL, SAĞ veya TAM) DIŞ birleşimler için sipariş önemlidir
W3schools'da Daha Fazla Bilgi Edinin
RIGHT JOIN
, istenen herhangi bir sonucu adil bir şekilde elde edebiliyorsak neden ihtiyacımız varLEFT JOIN
? : P