Middle
Ինչպե՞ս ստեղծել SQL հարցում աշխատողների թվաքանակը հաշվելու համար աշխատավարձի կատեգորիաներում՝ բաց կատեգորիաների համար 0 ցուցադրելով։
sobes.tech AI
Պատասխան AI-ից
Աշխատավարձի յուրաքանչյուր կատեգորիայի աշխատակիցների թվաքանակը հաշվելու և այն ցուցադրելու համար, որտեղ աշխատակիցներ չկան, պետք է օգտագործել 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:- Այս մոտեցումը թույլ է տալիս ստանալ կատեգորիաների ամբողջական ցանկը և ճիշտ հաշվարկ աշխատակիցների համար։