Duyuruda kullanıcılar ve duyurular tablosu olsun.
Sadece en az 1 duyuru açmış kullanıcıları, duyurularıyla beraber getirmek istiyorsan INNER JOIN, "duyurusu varsa duyuruyu da getir, yoksa duyurusuz gelsin" diyorsan da LEFT JOIN kullanıyorsun.
E peki ya duyuruyu açan hesap silinmişse? Kullanıcı silindiği için o duyuruya kullanıcı tablosu üzerinden ulaşamazsın. O zaman RIGHT JOIN, kullanıcısı olmasa bile tüm duyurular gelsin diyor.
Bi de OUTER JOIN var, hem duyuru hem kullanıcı hepsini kombinle getir abi diyorsun.
RIGHT JOIN'in çok kullanılmama sebebi şu, madem duyurunun kullanıcısı yok, o zaman niye kullanıcı tablosu üzerinden ulaşmaya çalışayım ki o duyuruya? Direkt gider duyuru tablosuna sorgu atarım diyor insanlar. Kullanıcı bilgilerini de duyuru üzerinden LEFT JOIN ile kullanıcıya ulaşarak hallediyorlar.
Nasıl oturur bunlar? Valla bence pratikten başka yolu yok. Kendin database tasarla, sorguları yaz. Hackerrank'in SQL şeyi de fena değil:
www.hackerrank.com