SQL Server'da JOINS: Örneklerle Eğitim

JOIN ifadesini kullanarak birden fazla tablodan veri alabiliriz. SQL sunucusunda esas olarak 4 farklı JOINS türü vardır. Tüm JOIN'leri öğreneceğiz SQL Server örneklerle:

  • İÇ BİRLEŞTİRME/basit birleştirme
  • SOL DIŞ BİRLEŞTİRME/SOL BİRLEŞTİRME
  • SAĞ DIŞ BİRLEŞTİRME/SAĞ BİRLEŞTİRME
  • TAM DIŞ BİRLEŞTİRME

INNER JOIN

Bu tür SQL sunucusu JOIN'i, birleştirme koşulunun doğru olduğu tüm tablolardan satırları döndürür. Aşağıdaki sözdizimini alır:

SELECT columns
FROM table_1 
INNER JOIN table_2
ON table_1.column = table_2.column;

Bunu göstermek için aşağıdaki iki tabloyu kullanacağız:

Öğrenci Masası:

INNER JOIN

Ücret tablosu:

INNER JOIN

Aşağıdaki komut, SQL Server'da INNER JOIN'i örnekle göstermektedir:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
INNER JOIN Fee
ON Students.admission = Fee.admission

Komut aşağıdakini döndürür:

INNER JOIN

Ücretini ödeyen öğrencilere şunu söyleyebiliriz. Her iki tabloda da ortak değerlerin olduğu sütun olan kabul sütununu kullandık.

SOL DIŞ KATILMA

Bu birleştirme türü, soldaki tablodaki tüm satırları ve sağdaki tablodaki eşleşen değerlere sahip kayıtları döndürür. Örneğin:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
LEFT OUTER JOIN Fee
ON Students.admission = Fee.admission

Kod şunu döndürür:

SOL DIŞ KATILMA

Eşleşen değerleri olmayan kayıtlar, ilgili sütunlarda NULL'larla değiştirilir.

SAĞ DIŞ BİRLEŞTİRME

Bu birleştirme türü, sağdaki tablodaki tüm satırları ve yalnızca soldaki tabloda eşleşen değerlere sahip olanları döndürür. Örneğin:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
RIGHT OUTER JOIN Fee
ON Students.admission = Fee.admission

OUTER JOINS SQL Server ifadesi aşağıdakileri döndürür:

SAĞ DIŞ BİRLEŞTİRME

Yukarıdaki çıktının nedeni, Ücret tablosundaki tüm satırların kabul sütununda eşleştirildiğinde Öğrenciler tablosunda mevcut olmasıdır.

TAM DIŞ BİRLEŞTİRME

Bu birleştirme türü, JOIN koşulunun doğru olmadığı her iki tablodaki tüm satırları NULL değerlerle döndürür. Örneğin:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
FULL OUTER JOIN Fee
ON Students.admission = Fee.admission

Kod, FULL OUTER JOINS sorguları için aşağıdaki sonucu döndürür: SQL:

TAM DIŞ BİRLEŞTİRME

Bu yazıyı şu şekilde özetleyin: