SQL Join Mantığını Kavramak

Merhaba, uzun süredir aklımda böyle bir makale yazmak vardı fakat pek zaman bulamamıştım. SQL üzerinde JOIN mantığı yeni başlayan developerlara çokça karmaşık ve zor gelir. Elimden geldiğince basit bir anlatım yapmaya çalışacağımdan şüpheniz olmasın.

Haydi başlayalım!

SQL sorgusundaki bir JOIN, en basit tabiriyle iki tablodaki kayıtları birleştirmek için kullanılır. En önemli kural JOIN ilgili olan sütun değerlerinin iki tabloda olması. Yani siz tek tabloda zaten JOIN kullanmaya gereksinim duymazsınız. Bir SQL sorgusu, sıfır, bir veya birden çok JOIN segmenti içeriyor olabilir. INNER JOIN = JOIN‘dir Yani ikisi aynı işleve sahiptir. INNER anahtar kelimesi isteğe bağlıdır.

Farklı JOIN tiplerine bir göz atalım

(INNER) JOIN: Her iki tabloda da eşleşen değerlere sahip kayıtları seçer.
LEFT (OUTER) JOIN: Doğru tablo kayıtlarıyla eşleşen kayıtları önce (soldaki) tablodan seçer. (Son taraftaki tablo baz alınır)
RIGHT(OUTER) JOIN: Eşleşen tablo kayıtlarıyla ikinci (sağdaki) tablodaki kayıtları seçer.(Sağ taraftaki tablo baz alınır)
FULL (OUTER) JOIN: Sol veya sağ tabloda bulunan kayıtlarla eşleşen tüm kayıtları seçer.

INNER ve OUTER anahtar kelimelerinin tamamıyla isteğe bağlıdır. JOIN’ler arasındaki farkları aşağıdaki görselde daha iyi anlayacaksınız.

sql-joins
Şimdi dilerseniz syntax kullanımlarına bakalım.

Genel Kullanımı:

Problem: Müdür tüm satışların müşteri kayıtlarını masasında istiyor.

Örneğin yandaki gibi iki ayrı tablomuz olsun. Problemimiz de yukarıda belirttiğim gibi olsun. Hadi bakalım!

Nasıl çözeceğiz? Artık ek yapmamız gereken öğrendiklerimizi uygulamak.

Sonuç başarılı. Tam da istediğimiz gibi. 

Yazar: Fatih Soysal

Kullanım ve kodlama mükemmeliyetini odak alan uygulamalar oluşturma deneyimine sahip, profesyonel olarak 15+ yıl üzeri deneyime sahip bir yazılım mühendisi.

Subscribe
Bildir

0 Yorum
Inline Feedbacks
View all comments
wpDiscuz
0
0
Would love your thoughts, please comment.x
Exit mobile version