Middle
Kā izveidot SQL vaicājumu, lai saskaitītu darbinieku skaitu algu kategorijās ar 0 tukšajās kategorijās?
sobes.tech AI
Atbilde no AI
Lai saskaitītu katras algas kategorijas darbinieku skaitu un rādītu 0 kategorijām, kurās nav darbinieku, jāizmanto LEFT JOIN ar algas kategoriju tabulu.
Pieņemsim, ka ir divas tabulas:
salary_categories(id, kategorijas_nosaukums)employees(id, vārds, salary_category_id)
Piemērs vaicājumam:
SELECT sc.kategorijas_nosaukums, COUNT(e.id) AS darbinieku_skaits
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.kategorijas_nosaukums
ORDER BY sc.kategorijas_nosaukums;
Skaidrojums:
LEFT JOINnodrošina, ka visisalary_categorieskategorijas būs rezultātos, pat ja tajās nav darbinieku.COUNT(e.id)skaita katras kategorijas darbinieku skaitu; tukšās kategorijās rezultāts būs 0.
Šī pieeja ļauj iegūt pilnu kategoriju sarakstu ar pareizu darbinieku skaitu.