Soru & Cevap

left join hk

02.09.2019 - 02:55

Left join ile solda kalan tablodaki null değerler de alınır mı?

2 Görüntülenme

5 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-278842-1588255894.jpg
kaankaracan
26.04.2020 - 07:08

Evet ama bir parantez açarak söylemeliyiz ki solda bulunan tüm değerleri getirir LEFT JOIN. Null eğer bu sorunuzda dediğiniz gibi bir değer olarak bulunuyorsa tabi ki o da sorgunuzda gelecektir.

LEFT JOIN in sağında tanımlanan tablo değeri bulunsa bile eğer LEFT JOIN in solunda buna karşılık gelen diğer tablo kaydı silinmişse, sorgu bu satır/satırları getiremez. Buna karşın LEFT JOIN in solundaki tablo değeri kaydı varken buna karşılık gelen LEFT JOIN in sağındaki tablo değeri karşılığındaki kayıt silinmişse, bu satır/satırlar gelir ve sağdaki değerlerin yerini default olarak ayarlanmış NULL değeri alır. (Başka bir değer belirlenmişse örneğin 0 gibi sıfır gibi otomatik olarak bunlar da gelebilir)

Profile picture for user aytac.abay
aytac.abay
21.09.2019 - 04:38

TABLOLARI BIRLESTIRMEK (INNER JOIN , LEFT JOIN , RIGHT JOIN) : Veritabanının kullanım amacı ilişkili tabloları ve tablolar içindeki kayıtlar ile ilişkili kayıtları depolamak olduğunu söylemiştik. Birden fazla tablo birleştirerek işlem yapmak için JOIN komutunu kullanırız. Böylece tabloların birleşimi , kesişimi ve farkı gibi küme işlemlerini JOIN komutuyla kolayca gerçekleştirebiliriz.

SELECT kat_id, kat_adi , urun_adi , urun_id FROM kate INNER JOIN urun ON kat_id = urun_kat_id; İki tablonun da eşleşen verilerini gösterir.

SELECT kat_id, kat_adi , urun_adi , urun_id FROM kate LEFT JOIN urun ON kat_id = urun_kat_id; Soldaki tablonun tüm verileri ekrana yazılır eşleşme olmayanlara ise NULL değeri alır.

SELECT kat_id, kat_adi , urun_adi , urun_id FROM kate RIGHT JOIN urun ON kat_id = urun_kat_id; Sağdaki tablonun tüm verileri ekrana yazılır eşleşme olmayanlara ise NULL değeri alır.