İK veritabanı senaryosu
İK müdürü maaş dengesini, yönetici yapısını ve kıdemi inceliyor. employees ve departments tablolarıyla 10 soru. Self join (çalışan–yönetici), alt sorgu ve pencere fonksiyonları sık geçecek.
Tablolar
employees: emp_id, first_name, last_name, dept_id, manager_id, title, salary, hire_date, email. departments: dept_id, name, city.Nasıl çalışmalı?
- Soruyu oku ve sonuçta hangi sütunların, kaç satırın bekleneceğini tahmin et.
- Önce
SELECT *ile ilgili satırlara bak; sonra sütunları ve koşulları ekle. - Kontrol et'e basmadan önce Sadece çalıştır ile sonucu incele.
- İki denemede çözemezsen ipucuna bak; çözümü görmek XP'yi azaltır ama soruyu Tekrar listesine ekler.
Bu kampta en çok kullanacağın kalıplar
| İhtiyaç | Kalıp |
|---|---|
| Departman adı | JOIN departments d ON d.dept_id = e.dept_id |
| Yönetici adı | LEFT JOIN employees m ON m.emp_id = e.manager_id |
| Eşi olmayan da kalsın | departments d LEFT JOIN employees e ... COUNT(e.emp_id) |
| Ortalamaya göre | WHERE salary > (SELECT AVG(salary) FROM employees) |
| Departman içi sıra | DENSE_RANK() OVER (PARTITION BY dept_id ORDER BY salary DESC) |
| Departman ortalaması | AVG(salary) OVER (PARTITION BY dept_id) |
Tablolar
employees ve departments. Yönetici ilişkisi employees.manager_id → employees.emp_id ile kurulur. Sütunların açıklamaları ve örnek satırlar Veri setleri sayfasında.