Junior
Verilənlər bazasında nümunələr və birləşmələr haqqında nə bilirsiniz?
sobes.tech Süni İntellekt
AI-dan cavab
Nümunələr (sorgular SELECT) bir və ya bir neçə cədvəldən məlumat çıxarır. Birləşmələr (JOIN) əlaqəli sütun əsasında iki və ya daha çox cədvəldəki sətirləri birləşdirir.
Birləşmə növləri:
- INNER JOIN: Hər iki cədvəldə uyğun gələn sətirləri qaytarır.
- LEFT JOIN (LEFT OUTER JOIN): Sol cədvəldəki bütün sətirləri və sağdakı uyğun gələn sətirləri qaytarır. Uyğun gəlməzsə, sağ cədvəl üçün
NULLqaytarılır. - RIGHT JOIN (RIGHT OUTER JOIN): Sağ cədvəldəki bütün sətirləri və sol tərəfdəki uyğun gələn sətirləri qaytarır. Uyğun gəlməzsə, sol cədvəl üçün
NULLqaytarılır. - FULL JOIN (FULL OUTER JOIN): Ən azı birində uyğun gələn sətirlər olan bütün sətirləri qaytarır. Uyğun gəlməzsə, boş sahələr üçün
NULLqaytarılır. (Bütün SGBD-lər tərəfindən dəstəklənmir, məsələn, MySQL UNION istifadə edir). - CROSS JOIN: Hər iki cədvəlin sətirlərinin kartezian hasilini qaytarır (hər birinci cədvəlin sətiri ikinci cədvəlin hər sətiri ilə birləşdirilir).
Sintaks nümunələri:
-- INNER JOIN
SELECT *
FROM table1
INNER JOIN table2 ON table1.id = table2.foreign_id;
-- LEFT JOIN
SELECT customer.name, order.order_id
FROM customer
LEFT JOIN order ON customer.id = order.customer_id;
Sorğular üçün açar sözlər:
SELECT: Çəkiləcək sütunları müəyyən edir.FROM: Cədvəl(lər)i göstərir.WHERE: Verilən şərtə əsasən sətirləri filtrləyir.GROUP BY: Eyni dəyərlərə malik sətirləri bir qrupda toplayır.HAVING:GROUP BY-dən sonra qrupları filtrləyir.ORDER BY: Nəticəni sıralayır.LIMIT / OFFSET: Geri qaytarılan sətir sayını məhdudlaşdırır.
Sorğular və birləşmələrin optimallaşdırılması verilənlər bazasının performansı üçün vacibdir. İndekslər, düzgün məlumat tiplərinin təyin edilməsi, SELECT *-dən qaçınma (mümkün olduqda), WHERE şərtlərinin optimallaşdırılması istifadə olunur.
PHP-də, sorğular və birləşmələrlə işləmək üçün PDO və ya MySQLi kimi uzantılar istifadə olunur, bunlar SQL sorğularını icra etmək üçün API təmin edir.