SQLda LEFT JOIN va RIGHT JOIN o'rtasidagi farqlar nima?
sobes.tech AI
AIdan javob
LEFT JOIN barcha satrlarni chap (birinchi) jadvaldan va o‘ng (ikkinchi) jadvaldan mos keladigan satrlarni qaytaradi. Agar o‘ng jadvalda mos keladigan satrlar bo‘lmasa, natija o‘ng jadvaldagi ustunlar uchun NULL ni o‘z ichiga oladi.
RIGHT JOIN barcha satrlarni o‘ng (ikkinchi) jadvaldan va mos keladigan satrlarni chap (birinchi) jadvaldan qaytaradi. Agar chap jadvalda mos keladigan satrlar bo‘lmasa, natija chap jadvaldagi ustunlar uchun NULL ni o‘z ichiga oladi.
Asosiy farq shundaki, qaysi jadval "to‘liq" hisoblanadi, ya’ni qaysi jadvdan barcha satrlar qaytariladi, bu ikkinchi jadvalda mos keladiganlar bo‘lishi yoki bo‘lmasligi bilan bog‘liq emas.
SQL misoli:
Jadval JadvalA:
| ID | QiymatA |
|---|---|
| 1 | A1 |
| 2 | A2 |
| 3 | A3 |
Jadval JadvalB:
| ID | QiymatB |
|---|---|
| 2 | B2 |
| 3 | B3 |
| 4 | B4 |
LEFT JOIN:
SELECT *
FROM JadvalA
LEFT JOIN JadvalB ON JadvalA.ID = JadvalB.ID;
LEFT JOIN natijasi:
| ID (JadvalA dan) | QiymatA | ID (JadvalB dan) | QiymatB |
|---|---|---|---|
| 1 | A1 | NULL | NULL |
| 2 | A2 | 2 | B2 |
| 3 | A3 | 3 | B3 |
RIGHT JOIN:
SELECT *
FROM JadvalA
RIGHT JOIN JadvalB ON JadvalA.ID = JadvalB.ID;
RIGHT JOIN natijasi:
| ID (JadvalA dan) | QiymatA | ID (JadvalB dan) | QiymatB |
|---|---|---|---|
| 2 | A2 | 2 | B2 |
| 3 | A3 | 3 | B3 |
| NULL | NULL | 4 | B4 |
LEFT JOIN va RIGHT JOIN ko‘pincha o‘zgartirilishi mumkin, jadval tartibini o‘zgartirish orqali: A LEFT JOIN B B RIGHT JOIN A ga teng.