Very Famous SQL Interview Question | Department Highest Salary

  Рет қаралды 24,640

Sumit Mittal

Sumit Mittal

Күн бұрын

Пікірлер: 35
@sumitmittal07
@sumitmittal07 2 жыл бұрын
Checkout the Big Data course details here: trendytech.in/?referrer=youtube_lc5
@RITURAJRANJAN-st7dv
@RITURAJRANJAN-st7dv 6 ай бұрын
Thanks for the wonderful solution Sir. I have tried to solve in a different way. select Department,Employee,salary from (select Department,Employee,salary,dense_rank() over(partition by Department order by salary desc) as denserank from (select e.name as Employee,salary,d.name as Department from Employee e join Department d on e.departmentId = d.id) temp) temp1 where denserank=1;
@rokibchi
@rokibchi 7 ай бұрын
Finished the whole playlist. Really helpful. I've learned How to approach any SQL problem.
@arunsundar3739
@arunsundar3739 6 ай бұрын
'where' clause with more than one column, along with 'in' clause is a combination i am learning first time, very interesting, gaining more confidence in sql questions now :)
@sonumahto1364
@sonumahto1364 Жыл бұрын
select Department, Employee, Salary from ( select d.name as Department,e.name as Employee,e.salary, rank() over (partition by departmentid order by salary desc) rnk from Employee e join department d on e.departmentid=d.id ) x where x.rnk=1 It is more optimised
@himanchalchandra6202
@himanchalchandra6202 4 ай бұрын
use dense_rank over rank as it will allow more than 1 highest salary in each dept
@subhajitroy5850
@subhajitroy5850 2 жыл бұрын
Please bring few more problem statements showing the usage of full outer join & Cartesian product as well
@sathiyanr3992
@sathiyanr3992 2 жыл бұрын
More Useful Sir. Kindly upload these kinds of problems continuously.
@venkataram6460
@venkataram6460 2 жыл бұрын
Please upload more videos to this playlist
@angelnadar6451
@angelnadar6451 2 жыл бұрын
Thanks @ helpful !!!
@sumitmittal07
@sumitmittal07 2 жыл бұрын
Glad that it was helpfull
@adnanmulla6640
@adnanmulla6640 9 ай бұрын
Alternate way: select Department,Employee,Salary from (select d.name as Department, e.name as Employee, dense_rank() over (partition by d.name order by salary desc) as Sal, Salary from Employee e inner join Department d on e.departmentId=d.id)x where x.Sal=1
@florincopaci6821
@florincopaci6821 2 жыл бұрын
Thank you for all the videos! can you please please do a video about leetcode sql question 2153-number of passengers in each bus 2?Please.Thank you
@ashitosh501
@ashitosh501 2 жыл бұрын
sir waiting for next session
@sumitmittal07
@sumitmittal07 2 жыл бұрын
Very soon
@karthikbs8457
@karthikbs8457 2 жыл бұрын
Sir I saw all the previous 5 video. This problem I paused and solved the problem on my own. Thanks. But I used Partition method involving 3 select statements. SELECT temp1.Department,temp1.name as Employee,temp1.Salary FROM( SELECT *, RANK() OVER(PARTITION by temp.departmentId ORDER BY temp.Salary DESC) AS rnk FROM( SELECT e.*,d.name as "Department" FROM Employee e INNER JOIN Department d ON e.departmentId=d.id) temp ) temp1 WHERE temp1.rnk=1;
@ShivaKumar-dj8bj
@ShivaKumar-dj8bj 2 жыл бұрын
for this highest salary rank will work but if you want to get nth highest salary you need to use dense rank...correct me if I'm wrong
@lucifieramit1
@lucifieramit1 2 жыл бұрын
select temp.name as Department,temp.employeename as Employee ,temp.salary as Salary from (select d.name,e.name as employeename,salary,dense_rank() over ( partition by d.name order by salary desc ) as dr from employee e join department d on e.departmentId=d.id) temp where temp.dr=1
@thomsondcruz5456
@thomsondcruz5456 2 жыл бұрын
Window functions are not always cost effective
@slyroy7562
@slyroy7562 2 жыл бұрын
Select * from (Select employee.department, employee.name employee, salary, dense_rank() over(partition by employee.department order by salary desc) as r from employee, department where employee. Id = department. Id) where r=1; Will this works?
@sukanyaiyer2671
@sukanyaiyer2671 2 жыл бұрын
Yes. It works
@dikshagupta2795
@dikshagupta2795 2 жыл бұрын
There are some changes I have made and after that the query gives expected results: select Department, Employee, Salary from ( Select Department.name as Department, employee.name as Employee, Salary, dense_rank() over(partition by employee.departmentId order by salary desc) as r from employee join Department on employee.departmentId = Department.id ) as r where r = 1
@slyroy7562
@slyroy7562 2 жыл бұрын
@@dikshagupta2795 Thanks
@faizraina6
@faizraina6 2 жыл бұрын
why are we using department id in sub-query . why do we need to include it , can't we just use max(salary) only
@razeenahmed7334
@razeenahmed7334 2 жыл бұрын
No, we can't use only max(salary) in the sub-query, because that will return only one maximum salary, but here we want to retrieve max salaries for both of the departments!
@103himajapoluri6
@103himajapoluri6 2 жыл бұрын
Can anybody help with identifying what is wrong in this query select d.name as Department,e1.name as Empolyee ,max(salary) as Salary from employee e1,department d where e1.departmentId = d.id group by d.name ;
@ShivaKumar-dj8bj
@ShivaKumar-dj8bj 2 жыл бұрын
This will not work because here in each department for each employee there will be only one row for salary...your query gives result department, employee name and the highest salary of him, here there is only one row so basically no aggregation will happen considering there is only one row for each employee in each department. the logic is you need to first partition the data department wise then order the data by salary in descending order for each department and get the first row in each partitioned data set. you can use either Row number or dense rank to achieve this....check once.
@dikshagupta2795
@dikshagupta2795 2 жыл бұрын
Hello Sir, If we are using sql server then what will be the alternative for "WHERE (departmentId, salary)" as we can't use two columns in WHERE in sql server
@AnweshDash
@AnweshDash 2 жыл бұрын
use window functions
@sukanyaiyer2671
@sukanyaiyer2671 2 жыл бұрын
pls solve prob 627
@sumitmittal07
@sumitmittal07 2 жыл бұрын
Noted :) will cover that in the upcoming sessions
@sukanyaiyer2671
@sukanyaiyer2671 2 жыл бұрын
@@sumitmittal07 thank you sir
@lucifieramit1
@lucifieramit1 2 жыл бұрын
@@sukanyaiyer2671 you need to use update with case statement in that problem
@Foodie_Cooking_Loverz
@Foodie_Cooking_Loverz Жыл бұрын
Looks complicated querry
@vishwamgupta1329
@vishwamgupta1329 2 жыл бұрын
WITH Solution as (SELECT Employee.name as Employee, Employee.salary as Sal ,Department.name as Department, DENSE_RANK() OVER(PARTITION BY Department.name ORDER BY Employee.salary DESC) as re FROM Employee INNER JOIN Department ON Employee.departmentID=Department.id) SELECT Department, Employee ,Sal as Salary FROM Solution WHERE re=1; #This one also worked using Dense rank window function
SQL Interview Question - Find Nth Highest Salary | LeetCode
30:40
Sumit Mittal
Рет қаралды 39 М.
Leetcode SQL Interview Questions  | Practise SQL questions
17:50
Sumit Mittal
Рет қаралды 22 М.
Cool Parenting Gadget Against Mosquitos! 🦟👶 #gen
00:21
TheSoul Music Family
Рет қаралды 33 МЛН
бабл ти гель для душа // Eva mash
01:00
EVA mash
Рет қаралды 1,4 МЛН
Practice SQL Interview Query | Big 4 Interview Question
14:47
LeetCode 184: Department Highest Salary [SQL]
5:32
Frederik Müller
Рет қаралды 11 М.