Middle
Boş kateqoriyalar üçün 0 göstərərək əmək haqqı kateqoriyalarında işçilərin sayını hesablamaq üçün SQL sorğusu necə yazılır?
sobes.tech Süni İntellekt
AI-dan cavab
Əmək haqqı kateqoriyalarına görə işçilərin sayını hesablamaq və işçiləri olmayan kateqoriyalar üçün 0 göstərmək üçün LEFT JOIN istifadə etmək lazımdır.
Tutaq ki, iki cədvəl var:
salary_categories(id, kateqoriya_adi)employees(id, ad, salary_category_id)
Nümunə sorğu:
SELECT sc.kateqoriya_adi, COUNT(e.id) AS işçi_sayı
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.kateqoriya_adi
ORDER BY sc.kateqoriya_adi;
İzah:
LEFT JOINbütünsalary_categorieskateqoriyalarının nəticədə olmasını təmin edir, hətta işçi olmayanlar da daxil olmaqla.COUNT(e.id)hər kateqoriyadakı işçilərin sayını hesablayır; boş kateqoriyalar üçün 0 olacaq.
Bu yanaşma tam kateqoriya siyahısı və düzgün işçi sayı əldə etməyə imkan verir.