SQL-də LEFT JOIN və RIGHT JOIN arasındakı fərqlər nələrdir?
sobes.tech Süni İntellekt
AI-dan cavab
LEFT JOIN sol tərəfdən (birinci) cədvəldən bütün sətirləri və sağ (ikinci) cədvəldən uyğun gələn sətirləri qaytarır. Əgər sağ cədvəldə uyğun gələn sətirlər yoxdursa, nəticə sağ cədvəlin sütunları üçün NULL ehtiva edir.
RIGHT JOIN, sağ (ikinci) cədvəldən bütün sətirləri və sol (birinci) cədvəldən uyğun gələn sətirləri qaytarır. Əgər sol cədvəldə uyğun gələn sətirlər yoxdursa, nəticə sol cədvəlin sütunları üçün NULL ehtiva edir.
Əsas fərq, hansı cədvəlin "tam" hesab olunduğudur, yəni hansı cədvəldən bütün sətirlər geri qaytarılır, digər cədvəldə uyğun gələnlər və ya yoxdursa.
SQL nümunəsi:
Cədvəl CədvəlA:
| ID | DəyərA |
|---|---|
| 1 | A1 |
| 2 | A2 |
| 3 | A3 |
Cədvəl CədvəlB:
| ID | DəyərB |
|---|---|
| 2 | B2 |
| 3 | B3 |
| 4 | B4 |
LEFT JOIN:
SELECT *
FROM CədvəlA
LEFT JOIN CədvəlB ON CədvəlA.ID = CədvəlB.ID;
Nəticə:
| ID (CədvəlA-dan) | DəyərA | ID (CədvəlB-dən) | DəyərB |
|---|---|---|---|
| 1 | A1 | NULL | NULL |
| 2 | A2 | 2 | B2 |
| 3 | A3 | 3 | B3 |
RIGHT JOIN:
SELECT *
FROM CədvəlA
RIGHT JOIN CədvəlB ON CədvəlA.ID = CədvəlB.ID;
Nəticə:
| ID (CədvəlA-dan) | DəyərA | ID (CədvəlB-dən) | DəyərB |
|---|---|---|---|
| 2 | A2 | 2 | B2 |
| 3 | A3 | 3 | B3 |
| NULL | NULL | 4 | B4 |
LEFT JOIN və RIGHT JOIN tez-tez bir-birinin yerinə keçirmək üçün istifadə olunur, cədvəllərin sırasını dəyişməklə: A LEFT JOIN B B RIGHT JOIN A ilə eynidir.