Middle
Жумушчулардын санын эсептөө үчүн SQL суроону кантип түзүү керек, маяна категорияларында бош категориялар үчүн 0 көрсөтүү менен?
sobes.tech AI
AIден жооп
Айлык категориялары боюнча кызматкерлердин санын эсептеп, кызматкерлер жок категориялар үчүн 0 көрсөтүү үчүн, LEFT JOIN колдонуш керек.
Айта кетсек, эки таблица бар:
salary_categories(id, категориянын аты)employees(id, аты, salary_category_id)
Мисал суроо:
SELECT sc.категориянын_аты, COUNT(e.id) AS кызматкерлер_саны
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.категориянын_аты
ORDER BY sc.категориянын_аты;
Түшүндүрмө:
LEFT JOINбардыкsalary_categoriesкатегорияларынын натыйжада болушун камсыздайт, анткени эч кандай кызматкер болбосо да.COUNT(e.id)ар бир категориядагы кызматкерлердин санын эсептейт; бош категориялар үчүн натыйжа 0 болот.
Бул ыкма бардык категориялардын тизмесин жана туура кызматкерлердин санын алууга мүмкүндүк берет.