diff --git a/Department Top 3 Salaries.sql b/Department Top 3 Salaries.sql new file mode 100644 index 0000000..72260e1 --- /dev/null +++ b/Department Top 3 Salaries.sql @@ -0,0 +1,5 @@ +WITH CTE AS( + + SELECT d.name AS 'Department', e.name AS 'Employee', e.salary AS 'Salary', DENSE_RANK() OVER(PARTITION BY e.departmentID ORDER BY e.salary DESC) as 'rnk' FROM Employee e LEFT JOIN Department d ON e.departmentID = d.id +) +SELECT Department, Employee, Salary FROM CTE WHERE rnk <= 3 \ No newline at end of file diff --git a/Exchange Seats.sql b/Exchange Seats.sql new file mode 100644 index 0000000..873deff --- /dev/null +++ b/Exchange Seats.sql @@ -0,0 +1,7 @@ +SELECT ( + CASE + WHEN MOD(id, 2) != 0 AND id = cnts THEN id + WHEN MOD(id, 2) != 0 THEN id + 1 + ELSE id - 1 + END +) AS 'id', student FROM Seat, (SELECT COUNT(id) as 'cnts' FROM Seat) AS Seat_Counts ORDER BY id; \ No newline at end of file diff --git a/Rank Scores.sql b/Rank Scores.sql new file mode 100644 index 0000000..fdf1eec --- /dev/null +++ b/Rank Scores.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/Tree Node.sql b/Tree Node.sql new file mode 100644 index 0000000..6f78716 --- /dev/null +++ b/Tree Node.sql @@ -0,0 +1,5 @@ +SELECT id, 'Root' AS type FROM Tree WHERE p_id IS null +UNION +SELECT id, 'Inner' AS type FROM Tree WHERE id IN (SELECT DISTINCT p_id FROM Tree WHERE p_id IS NOT NULL) AND p_id IS NOT NULL +UNION +SELECT id, 'Leaf' AS type FROM Tree WHERE id NOT IN (SELECT DISTINCT p_id FROM Tree WHERE p_id IS NOT NULL) AND p_id IS NOT NULL