Sobes.tech
Junior

SQL Join qanday ishlaydi?

sobes.tech AI

AIdan javob

SQL JOIN ikki yoki undan ortiq jadvallardan satrlarni ularning o'rtasidagi bog'langan ustun asosida birlashtiradi. Bir nechta JOIN turlari mavjud:

  • INNER JOIN: Ikkala jadvalda ham mos keladigan qiymatlar bo'lgan satrlarni qaytaradi.
  • LEFT (OUTER) JOIN: Chap jadvaldagi barcha satrlarni va o'ng jadvaldagi mos keladigan satrlarni qaytaradi. Agar o'ng jadvalda mos kelish bo'lmasa, o'ng jadval ustunlari uchun NULL qiymatlari qaytariladi.
  • RIGHT (OUTER) JOIN: O'ng jadvaldagi barcha satrlarni va chap jadvaldagi mos keladigan satrlarni qaytaradi. Agar chap jadvalda mos kelish bo'lmasa, chap jadval ustunlari uchun NULL qiymatlari qaytariladi.
  • FULL (OUTER) JOIN: Ikkala jadvaldagi barcha satrlarni qaytaradi. Agar mos kelish bo'lmasa, mos ustunlar uchun NULL qiymatlari qaytariladi.
  • CROSS JOIN: Ikki jadvalning kartesian mahsulotini qaytaradi (birinchi jadvaldan har bir satr ikkinchi jadvaldan har bir satr bilan birlashtiriladi).

Sintaksis odatda quyidagicha:

SELECT ustun1, ustun2...
FROM jadval1
JOIN jadval2 ON jadval1.umumiy_ustun = jadval2.umumiy_ustun;

INNER JOIN misoli:

SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;

customers va orders jadvallarini ko'rib chiqamiz:

customers

customer_id customer_name
1 Alice
2 Bob
3 Charlie

orders

order_id customer_id amount
101 1 100
102 2 150
103 1 200
104 4 50

INNER JOIN natijasi:

order_id customer_name
101 Alice
102 Bob
103 Alice

LEFT JOIN natijasi (orders LEFT JOIN customers):

order_id customer_id amount customer_name
101 1 100 Alice
102 2 150 Bob
103 1 200 Alice
104 4 50 NULL