0
0
SQLquery~10 mins

RANK and DENSE_RANK difference in SQL - Interactive Code Practice

Choose your learning style9 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to assign a rank to each employee based on their salary using RANK().

SQL
SELECT employee_id, salary, RANK() OVER (ORDER BY salary [1]) AS salary_rank FROM employees;
Drag options to blanks, or click blank then click option'
AASC
BDESC
CGROUP BY
DWHERE
Attempts:
3 left
💡 Hint
Common Mistakes
Using DESC instead of ASC changes the ranking order.
Using GROUP BY or WHERE inside OVER() causes syntax errors.
2fill in blank
medium

Complete the code to assign dense ranks to employees based on their salary using DENSE_RANK().

SQL
SELECT employee_id, salary, DENSE_RANK() OVER (ORDER BY salary [1]) AS dense_salary_rank FROM employees;
Drag options to blanks, or click blank then click option'
AASC
BDESC
CGROUP BY
DHAVING
Attempts:
3 left
💡 Hint
Common Mistakes
Using DESC changes the ranking order.
Using GROUP BY or HAVING inside OVER() is invalid.
3fill in blank
hard

Fix the error in the query that tries to rank employees by salary but uses an invalid keyword.

SQL
SELECT employee_id, salary, RANK() OVER (ORDER BY salary [1]) AS rank FROM employees;
Drag options to blanks, or click blank then click option'
AGROUP BY
BDESC
CFILTER
DASC
Attempts:
3 left
💡 Hint
Common Mistakes
Using GROUP BY or FILTER inside OVER() causes syntax errors.
Omitting ASC or DESC leads to errors or unexpected results.
4fill in blank
hard

Fill both blanks to create a query that shows both RANK and DENSE_RANK for employees ordered by salary.

SQL
SELECT employee_id, salary, RANK() OVER (ORDER BY salary [1]) AS rank, DENSE_RANK() OVER (ORDER BY salary [2]) AS dense_rank FROM employees;
Drag options to blanks, or click blank then click option'
AASC
BDESC
CGROUP BY
DHAVING
Attempts:
3 left
💡 Hint
Common Mistakes
Using different order directions causes confusing rank results.
Using GROUP BY or HAVING inside OVER() is invalid.
5fill in blank
hard

Fill all three blanks to create a query that ranks employees by salary descending, shows dense ranks, and filters for ranks less than 4.

SQL
SELECT * FROM (SELECT employee_id, salary, RANK() OVER (ORDER BY salary [1]) AS rank, DENSE_RANK() OVER (ORDER BY salary [2]) AS dense_rank FROM employees) AS sub WHERE rank [3] 4;
Drag options to blanks, or click blank then click option'
AASC
BDESC
C<
D>
Attempts:
3 left
💡 Hint
Common Mistakes
Using ASC orders lowest salaries first, not highest.
Using > 4 filters wrong ranks.
Mixing ASC and DESC causes inconsistent ranks.