Sobes.tech
Junior

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.