From 1c22a65199502352b2815a14bab920b6c436a6cd Mon Sep 17 00:00:00 2001 From: Aniruddh Date: Sun, 8 Jun 2025 18:52:51 -0700 Subject: [PATCH] Done SQL2 --- DepartmentTopThreeSalaries.sql | 16 ++++++++++++++++ ExchangeSeat.sql | 2 ++ RankScore.sql | 3 +++ TreeNode.sql | 4 ++++ 4 files changed, 25 insertions(+) create mode 100644 DepartmentTopThreeSalaries.sql create mode 100644 ExchangeSeat.sql create mode 100644 RankScore.sql create mode 100644 TreeNode.sql diff --git a/DepartmentTopThreeSalaries.sql b/DepartmentTopThreeSalaries.sql new file mode 100644 index 0000000..3128f8b --- /dev/null +++ b/DepartmentTopThreeSalaries.sql @@ -0,0 +1,16 @@ +WITH ranks AS ( + SELECT + d.name AS department, + e.name AS employee, + e.salary, + DENSE_RANK() OVER(PARTITION BY d.id ORDER BY e.salary DESC) AS salary_rank + FROM employee e + JOIN department d + ON d.id = e.departmentId +) +SELECT + department, + employee, + salary +FROM ranks +WHERE salary_rank <= 3; diff --git a/ExchangeSeat.sql b/ExchangeSeat.sql new file mode 100644 index 0000000..3b38885 --- /dev/null +++ b/ExchangeSeat.sql @@ -0,0 +1,2 @@ +SELECT s1.id, COALESCE(s2.student , s1.student) AS 'student' FROM seat s1 LEFT JOIN seat s2 +ON (s1.id +1) ^ 1 - 1 = s2.id ORDER BY s1.id; \ No newline at end of file diff --git a/RankScore.sql b/RankScore.sql new file mode 100644 index 0000000..97c0dd3 --- /dev/null +++ b/RankScore.sql @@ -0,0 +1,3 @@ +# Write your MySQL query statement below +SELECT s1.score , (SELECT COUNT(DISTINCT s2.score) from scores s2 where s2.score >= s1.score) AS 'rank' + FROM SCORES s1 ORDER BY s1.score DESC; \ No newline at end of file diff --git a/TreeNode.sql b/TreeNode.sql new file mode 100644 index 0000000..5ce50f9 --- /dev/null +++ b/TreeNode.sql @@ -0,0 +1,4 @@ +SELECT id , IF( + ISNULL(p_id) , 'Root' , IF(id IN (SELECT DISTINCT p_id from tree) , 'Inner' , 'Leaf') + +) AS 'type' from tree; \ No newline at end of file