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.

Αυτή η προσέγγιση επιτρέπει την πλήρη λίστα κατηγοριών με σωστό αριθμό υπαλλήλων.