diff --git a/exchange-seats b/exchange-seats new file mode 100644 index 0000000..70ac808 --- /dev/null +++ b/exchange-seats @@ -0,0 +1,9 @@ +select +case +when mod(id,2) =0 then id-1 +when mod(id,2) !=0 and id=cnt then id +else id+1 +end as id, +student +from seat ,(select max(id) as cnt from seat) s +order by id ; diff --git a/rank-scores b/rank-scores new file mode 100644 index 0000000..671bfe5 --- /dev/null +++ b/rank-scores @@ -0,0 +1 @@ +Select score,dense_rank() over(order by score desc) as rnk from scores; diff --git a/top-three-salaries b/top-three-salaries new file mode 100644 index 0000000..4da9da2 --- /dev/null +++ b/top-three-salaries @@ -0,0 +1,7 @@ +with cte as ( +select e.name,e.salary,e.departmentid,d.name as department,dense_rank() over(partition by e.departmentid order by e.salary desc) rnk +from employee e +join +department d +on e.departmentid = d.id) +select department,name as employee,salary from cte where rnk <=3; diff --git a/tree-node b/tree-node new file mode 100644 index 0000000..b0be1ea --- /dev/null +++ b/tree-node @@ -0,0 +1,9 @@ +select id, +case +when p_id is null then 'Root' +when id not in (select distinct p_id from tree where p_id is not null) then 'Leaf' +else 'Inner' +END as type +from tree order by id; + +