Sobes.tech
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 болот.

Бул ыкма бардык категориялардын тизмесин жана туура кызматкерлердин санын алууга мүмкүндүк берет.