Junior
INNER JOIN və OUTER JOIN arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
INNER JOIN yalnızca birləşmə şərtinə uyğun olaraq hər iki cədvəldə uyğun gələn sətirləri qaytarır. Əgər cədvəllərdən birində uyğun qeyd yoxdursa, bu sətir nəticəyə daxil edilmir.
OUTER JOIN bir cədvəldəki bütün sətirləri və digər cədvəldən uyğun olanları qaytarır və uyğunluq yoxdursa, çatışmayan məlumatlar NULL ilə doldurulur. Üç növ OUTER JOIN mövcuddur:
- LEFT OUTER JOIN — sol cədvəldəki bütün sətirlər + sağdakı uyğun olanlar;
- RIGHT OUTER JOIN — sağ cədvəldəki bütün sətirlər + soldakı uyğun olanlar;
- FULL OUTER JOIN — hər iki cədvəldəki bütün sətirlər, uyğun gəlməyənlər NULL.
Nümunə:
SELECT * FROM employees INNER JOIN departments ON employees.dept_id = departments.id;
-- yalnız bölməyə malik işçiləri qaytarır
SELECT * FROM employees LEFT OUTER JOIN departments ON employees.dept_id = departments.id;
-- bütün işçiləri qaytarır, hətta bölməsi olmayanlar (departments sütunlarında NULL olacaq)