Algorithm/SQL

[SQL][HackerRank] Employee Salaries

융무 2020. 6. 9. 10:21

https://www.hackerrank.com/challenges/salary-of-employees/problem?h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen&h_r=next-challenge&h_v=zen

 

Employee Salaries | HackerRank

Print the names of employees who earn more than $2000 per month and have worked at the company for less than 10 months.

www.hackerrank.com

Write a query that prints a list of employee names (i.e.: the name attribute) for employees in Employee having a salary greater than $2000 per month who have been employees for less than 10 months. Sort your result by ascending employee_id.

Input Format

The Employee table containing employee data for a company is described as follows:

where employee_id is an employee's ID number, name is their name, months is the total number of months they've been working for the company, and salary is the their monthly salary.

Sample Input

Sample Output

Angela Michael Todd Joe

Explanation

Angela has been an employee for 1 month and earns $3443 per month.

Michael has been an employee for 6 months and earns $2017 per month.

Todd has been an employee for 5 months and earns $3396 per month.

Joe has been an employee for 9 months and earns $3573 per month.

We order our output by ascending employee_id.

 

  • query employee names ==> SELECT name
  • from Employee table ==> FROM Employee
  • salary greater than $2000 ==> salary > 2000
  • less than 10 months ==> months < 10
  • employees having a salary greater than $2000 who have been employees for less than 10 months ==> WHERE salary > 2000 AND months < 10
  • sort result by ascending employee_id ==> ORDER BY employee_id
SELECT name 
FROM Employee 
WHERE salary > 2000 AND months < 10 
ORDER BY employee_id;