diff --git a/Problem1_RankScores.sql b/Problem1_RankScores.sql new file mode 100644 index 0000000..e5d75ac --- /dev/null +++ b/Problem1_RankScores.sql @@ -0,0 +1,4 @@ +# Write your MySQL query statement below +select score, dense_rank() over (order by score desc) as 'rank' +from Scores +order by score desc; \ No newline at end of file diff --git a/Problem2_ExchangeSeats.sql b/Problem2_ExchangeSeats.sql new file mode 100644 index 0000000..1da441d --- /dev/null +++ b/Problem2_ExchangeSeats.sql @@ -0,0 +1,9 @@ +# Write your MySQL query statement below +select +case when id = (select max(id) from seat) and id %2 != 0 then id + when id % 2=0 then id-1 + else id+1 +END as id, +student +from seat +order by id; \ No newline at end of file diff --git a/Problem3_TreeNode.sql b/Problem3_TreeNode.sql new file mode 100644 index 0000000..924b4a4 --- /dev/null +++ b/Problem3_TreeNode.sql @@ -0,0 +1,15 @@ +# Write your MySQL query statement below + +select +id, +case when p_id is null then 'Root' + when id in (select distinct p_id from Tree) then 'Inner' + else 'Leaf' end as type +from Tree; + +#Using if condition + +select +id, +if(p_id is null,'Root',if(id in (select distinct p_id from Tree),'Inner','Leaf')) as type +from Tree; diff --git a/Problem4_DeptTop3Salaries.sql b/Problem4_DeptTop3Salaries.sql new file mode 100644 index 0000000..344c75d --- /dev/null +++ b/Problem4_DeptTop3Salaries.sql @@ -0,0 +1,10 @@ +# Write your MySQL query statement below +select A.department,A.employee,A.salary +from +(select d.name as department, +e.name as employee, +e.salary, +dense_rank() over(partition by e.departmentId order by e.salary desc) as salaryrank +from department d +inner join employee e on d.id=e.departmentId) A +where salaryrank <=3