From d6c218b05168b13d2e3c6bc655c947c1ba80060e Mon Sep 17 00:00:00 2001 From: NehaDhaliwalNehaDhaliwal Date: Thu, 29 May 2025 17:07:43 -0500 Subject: [PATCH] Done Sql2 --- Problem 1.sql | 1 + Problem 2.sql | 8 ++++++++ Problem 3.sql | 6 ++++++ Problem 4.sql | 8 ++++++++ 4 files changed, 23 insertions(+) create mode 100644 Problem 1.sql create mode 100644 Problem 2.sql create mode 100644 Problem 3.sql create mode 100644 Problem 4.sql diff --git a/Problem 1.sql b/Problem 1.sql new file mode 100644 index 0000000..941f8dd --- /dev/null +++ b/Problem 1.sql @@ -0,0 +1 @@ +select score, dense_rank() over (order by score desc) as 'rank' from Scores \ No newline at end of file diff --git a/Problem 2.sql b/Problem 2.sql new file mode 100644 index 0000000..71c78ec --- /dev/null +++ b/Problem 2.sql @@ -0,0 +1,8 @@ +select ( + case + when mod(id, 2) != 0 and id != cnt then id + 1 + when mod(id, 2) != 0 and id = cnt then id + else id - 1 + end +) AS 'id', student from Seat, (select count(*) as cnt from Seat) AS seat_cnt +order by id; \ No newline at end of file diff --git a/Problem 3.sql b/Problem 3.sql new file mode 100644 index 0000000..9b73a7d --- /dev/null +++ b/Problem 3.sql @@ -0,0 +1,6 @@ +select id, ( + case + when isnull(p_id) then 'Root' + when id in (select distinct p_id from Tree) then 'Inner' + else 'Leaf' + end) as type from Tree \ No newline at end of file diff --git a/Problem 4.sql b/Problem 4.sql new file mode 100644 index 0000000..b92d89e --- /dev/null +++ b/Problem 4.sql @@ -0,0 +1,8 @@ +with cte as ( + select d.name as Department, e.name as Employee, e.salary as Salary, + dense_rank() over (partition by d.name order by Salary desc) as rnk + from Employee e + left join Department d on d.id = e.departmentId +) + +select Department, Employee, Salary from cte where rnk <= 3 \ No newline at end of file