Please see github.com/anusha-murali for all of my repositories.
Query the Name of any student in STUDENTS who scored higher than 75 Marks. Order your output by the last three characters of each name. If two or more students both have names ending in the same last three characters (i.e.: Bobby, Robby, etc.), secondary sort them by ascending ID.
The STUDENTS
table is described as follows:
The Name column only contains uppercase (A-Z) and lowercase (a-z) letters.
Sample Input
Sample Output
Ashley
Julia
Belvet
Explanation
Only Ashley, Julia, and Belvet have Marks > 75. If you look at the last three characters of each of their names, there are no duplicates and ‘ley’ < ‘lia’ < ‘vet’.
Selecting those students who scored higher than 75 is easy. The query for doing this task is SELECT NAME FROM STUDENTS WHERE MARKS > 5'. We are asked to order the output based on the last three characters of the students' names. Using Oracle's
SUBSTR() function, the last three characters of
NAME is
SUBSTR(NAME, LENGTH(NAME)-2, 3). Hence, our
ORDER BY clause will be
ORDER BY SUBSTR(NAME, LENGTH(NAME)-2, 3)`. We also note that if two or more outputs have the same last three characters, we need to order them using the students’ IDs. Hence the final query will be as follows:
SELECT NAME
FROM STUDENTS
WHERE MARKS > 75
ORDER BY SUBSTR(NAME, LENGTH(NAME)-2,3), ID;