Write a SQL query that ranks every employee by salary **within their
department using dense ranking** (no gaps when salaries are tied).
Order the output by department, then rank, then name.
Table: `employees`
| id | name | salary | dept |
|---|---|---|---|
| 1 | Alice | 90000 | Engineering |
| 2 | Bob | 90000 | Engineering |
| 3 | Carol | 75000 | Engineering |
| 4 | Dave | 80000 | Marketing |
| 5 | Eve | 80000 | Marketing |
| 6 | Frank | 60000 | Marketing |
Alice and Bob are tied → both rank 1; Carol is rank 2 (dense, no gap).
Expected output (columns: name, dept, salary, rank)
Alice|Engineering|90000|1
Bob|Engineering|90000|1
Carol|Engineering|75000|2
Dave|Marketing|80000|1
Eve|Marketing|80000|1
Frank|Marketing|60000|2DENSE_RANK vs RANK —
RANKskips numbers after a tie (1,1,3);
DENSE_RANKnever skips (1,1,2).
Sample tests