Hacker Rank SQL

Placements Solution

Hello Friends in this article i am gone to share Hacker Rank SQL Solutions with you | Placements Solution


Also Visit:  SQL Project Planning Solution


 

Problem

You are given three tables: Students, Friends and Packages. Students contains two columns: ID and Name. Friends contains two columns: ID and Friend_ID (ID of the ONLY best friend). Packages contains two columns: ID and Salary (offered salary in $ thousands per month).

Column Type
ID Integer
Name String
Column Type
ID Integer
Friend_ID Integer
Column Type
ID Integer
Salary Float

Write a query to output the names of those students whose best friends got offered a higher salary than them. Names must be ordered by the salary amount offered to the best friends. It is guaranteed that no two students got same salary offer.

Sample Input

ID Friend_Id
1 2
2 3
3 4
4 1
ID Name
1 Ashley
2 Samantha
3 Julia
4 Scarlet
ID Name
1 15.20
2 10.06
3 11.55
4 12.12

Sample Output

Samantha
Julia
Scarlet

Explanation

Now,

  • Samantha’s best friend got offered a higher salary than her at 11.55
  • Julia’s best friend got offered a higher salary than her at 12.12
  • Scarlet’s best friend got offered a higher salary than her at 15.2
  • Ashley’s best friend did NOT get offered a higher salary than her

The name output, when ordered by the salary offered to their friends, will be:

  • Samantha
  • Julia
  • Scarlet

 

Solution – Placements

MySQL Code
select temp1.sn
from (select S.ID si,S.Name sn,P.Salary ps from Students S join Packages P on S.ID=P.ID) 
temp1 join (select FF.ID fi,FF.Friend_ID fd,PP.Salary pps from Friends 
FF join Packages PP on FF.Friend_ID=pp.ID) temp2 on temp1.si=temp2.fi and temp1.ps<temp2.pps
order by temp2.pps asc;

 

 

Disclaimer: The above Problems are generated by Hacker Rank but the Solutions are Provided by NYANDER.COM. All Hacker Rank SQL Solutions Shared only for Educational and Learning Purpose.