Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Ranking Employees Within Departments

EasySQL · PostgreSQL00:00
Practice interviewer
In session
5 left
00:00

Your question is Ranking Employees Within Departments. Start with the requirements and the two tables on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

HARMAN needs a salary ranking for active employees across departments such as Engineering, Product, and Quality. Write a PostgreSQL query that ranks employees within their respective departments.

Requirements

  1. Join employees to departments and return the department name, employee ID, employee name, salary, and rank.
  2. Include only employees whose employment status is Active and whose department exists.
  3. Rank employees by salary in descending order within each department using RANK(). Employees with equal salaries must receive the same rank.
  4. Place employees with a NULL salary after employees with known salaries, and order the final output by department, rank, and employee ID.

Schema

employees
ColumnTypeDescription
employee_idPKINTEGERUnique employee identifier
employee_nameVARCHAR(100)Employee's full name
department_idINTEGERReferences departments.department_id
salaryNUMERIC(10,2)Annual employee salary
employment_statusVARCHAR(20)Current employment status
departments
ColumnTypeDescription
department_idPKINTEGERUnique department identifier
department_nameVARCHAR(100)HARMAN department name
Tablesemployeesdepartments
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results