diff --git a/Problem 1.sql b/Problem 1.sql new file mode 100644 index 0000000..e36fcfe --- /dev/null +++ b/Problem 1.sql @@ -0,0 +1,2 @@ +# Write your MySQL query statement below +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..c208022 --- /dev/null +++ b/Problem 2.sql @@ -0,0 +1,7 @@ +# Write your MySQL query statement below +SELECT (CASE + WHEN id%2=1 AND id=(SELECT MAX(id) FROM Seat) THEN id + WHEN id%2=1 THEN id+1 + ELSE id-1 + END +)AS id, student FROM Seat 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..d082b23 --- /dev/null +++ b/Problem 3.sql @@ -0,0 +1,7 @@ +SELECT id, ( + CASE + WHEN ISNULL(p_id) THEN 'Root' + WHEN (id NOT IN (SELECT IFNULL(p_id, 0) FROM Tree)) THEN 'Leaf' + ELSE 'Inner' + END +) AS type FROM Tree diff --git a/Problem 4.sql b/Problem 4.sql new file mode 100644 index 0000000..c5742b2 --- /dev/null +++ b/Problem 4.sql @@ -0,0 +1,9 @@ +# Write your MySQL query statement below +WITH CTE AS ( + SELECT *, DENSE_RANK() OVER(PARTITION BY departmentId ORDER BY salary DESC) AS rnk FROM Employee +), +CTE2 AS ( + SELECT * FROM CTE WHERE rnk<=3 +) +SELECT d.name AS Department, CTE2.name AS Employee, CTE2.salary AS Salary +FROM CTE2 JOIN Department d ON CTE2.departmentId=d.id \ No newline at end of file