Junior
146
SQL Join necə işləyir?
AI-dan cavab
sobes.tech Süni İntellekt
SQL JOIN iki və ya daha çox cədvəldən satırları əlaqəli sütuna əsasən birləşdirir. Bir neçə JOIN növü mövcuddur:
INNER JOIN: Hər iki cədvəldə uyğun dəyərlər olan satırları qaytarır.LEFT (OUTER) JOIN: Sol cədvəldən bütün satırları və sağ cədvəldə uyğun olanları qaytarır. Əgər sağ cədvəldə uyğunluq yoxdursa,NULLdəyərlər qaytarılır.RIGHT (OUTER) JOIN: Sağ cədvəldən bütün satırları və sol cədvəldə uyğun olanları qaytarır. Əgər sol cədvəldə uyğunluq yoxdursa,NULLdəyərlər qaytarılır.FULL (OUTER) JOIN: Hər iki cədvəldən bütün satırları qaytarır. Uyğunluq yoxdursa,NULLdəyərlər qaytarılır.CROSS JOIN: İki cədvəlin kartezian hasilini qaytarır (birinci cədvəldən hər satır ikinci cədvəldən hər satır ilə birləşdirilir).
Sintaksis adətən belə görünür:
SELECT sütun1, sütun2...
FROM cədvəl1
JOIN cədvəl2 ON cədvəl1.ümumi_sütun = cədvəl2.ümumi_sütun;
INNER JOIN nümunəsi:
SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;
Gəlin customers və orders cədvəllərini nəzərdən keçirək:
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 nəticəsi:
| order_id | customer_name |
|---|---|
| 101 | Alice |
| 102 | Bob |
| 103 | Alice |
LEFT JOIN nəticəsi (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 |