Sobes.tech
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 JOIN bütün salary_categories kateqoriyaları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.