Middle
SQLda qanday JOIN turlari mavjud va LEFT JOIN, RIGHT JOIN va INNER JOIN qanday farqlanadi?
sobes.tech AI
AIdan javob
SQLda bir nechta JOIN turlari mavjud bo'lib, ular ma'lum shart asosida ikki jadvaldan satrlarni birlashtirish imkonini beradi:
- INNER JOIN — faqat ikkala jadvalda ham mos keladigan satrlarni qaytaradi.
- LEFT JOIN (LEFT OUTER JOIN) — chap jadvaldagi barcha satrlarni va o'ng jadvaldagi mos keladigan satrlarni qaytaradi. Mos kelmasa, o'ng jadval maydonlari NULL bo'ladi.
- RIGHT JOIN (RIGHT OUTER JOIN) — aksincha, o'ng jadvaldagi barcha satrlarni va chap jadvaldagi mos keladigan satrlarni qaytaradi, mos kelmasa NULL bo'ladi.
Misol:
A jadvali:
| id | ism |
|---|---|
| 1 | Alice |
| 2 | Bob |
B jadvali:
| id | shahar |
|---|---|
| 1 | London |
| 3 | Berlin |
- INNER JOIN id bo'yicha faqat id=1 (Alice va London) ni qaytaradi.
- LEFT JOIN quyidagilarni qaytaradi:
- id=1 (Alice, London)
- id=2 (Bob, NULL)
- RIGHT JOIN quyidagilarni qaytaradi:
- id=1 (Alice, London)
- id=3 (NULL, Berlin)
Shu tarzda, LEFT va RIGHT JOIN bir jadvaldagi barcha satrlarni saqlab qoladi va ularni boshqa jadval ma'lumotlari bilan to'ldiradi, INNER JOIN esa faqat mos keladiganlarni saqlaydi.