Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

SQL And Spark Querying

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

Your question is SQL And Spark Querying. 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

Context

Exusia's Data Fabric team needs a repeatable way to identify the highest-paid employees while retaining department information when available. The result must handle salary ties and employees whose department reference does not match a department record.

Task

Write a PostgreSQL query that returns every employee earning the maximum salary in the employees table. Also describe how to produce the same result with a DataFrame and an RDD.

Requirements

  1. Use a CTE to calculate the overall maximum non-NULL salary.
  2. Return every employee tied at that salary, including the employee name and salary.
  3. Use a LEFT JOIN to include the employee when its department reference has no matching department.
  4. Order the result by employee name.

Schema

employees
ColumnTypeDescription
employee_idPKINTUnique employee identifier
employee_nameVARCHAR(100)Employee full name
salaryNUMERIC(12,2)Annual salary
department_idINTReferenced department identifier
job_titleVARCHAR(100)Current job title
departments
ColumnTypeDescription
department_idPKINTUnique department identifier
department_nameVARCHAR(100)Department name
Tablesemployeesdepartments
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results