Fatihsoysal.com

Freelance Proje İş Alımı


Merhaba, şu anda anahtar teslim freelance proje iş alımları için uygunum.
Tekliflerinizi buradan yada fatihsoysal@outlook.com e-posta adresi üzerinden benimle paylaşabilirsiniz. Çok kısa bir süre içerisinde tarafınıza geri dönüş sağlanacaktır.

Kategoriler


SQL Join Mantığını Kavramak

Fatih SoysalFatih Soysal

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. Screenshot_2

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
    guest

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