Junior
INNER JOIN ile OUTER JOIN arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
INNER JOIN, sadece birleşme koşuluna göre her iki tabloda da eşleşen satırları getirir. Bir tabloda karşılık gelen kayıt yoksa, bu satır sonuçta yer almaz.
OUTER JOIN, bir tablodaki tüm satırları ve diğer tablodaki karşılık gelenleri getirir; eşleşme yoksa, eksik verilerin yerine NULL konur. Üç tür OUTER JOIN vardır:
- LEFT OUTER JOIN — sol tablodaki tüm satırlar + sağdaki eşleşenler;
- RIGHT OUTER JOIN — sağ tablodaki tüm satırlar + soldaki eşleşenler;
- FULL OUTER JOIN — her iki tablodaki tüm satırlar, eşleşme yoksa NULL.
Örnek:
SELECT * FROM employees INNER JOIN departments ON employees.dept_id = departments.id;
-- sadece departmanı olan çalışanları getirir
SELECT * FROM employees LEFT OUTER JOIN departments ON employees.dept_id = departments.id;
-- tüm çalışanları getirir, hatta departmanı olmayanlar (departments sütunlarında NULL olur)