-- Step 1: Create the Students table CREATE TABLE Students ( ID INT PRIMARY KEY, Name VARCHAR(50), Marks INT ); -- Step 2: Insert sample data into Students table INSERT INTO Students (ID, Name, Marks) VALUES (1, 'Maria', 99), (2, 'Jane', 81), (3, 'Julia', 88), (4, 'Scarlet', 78), (5, 'Tom', 63), (6, 'Jerry', 68); -- Step 3: Create the Grades table CREATE TABLE Grades ( grade INT PRIMARY KEY, min_mark INT, max_mark INT ); -- Step 4: Insert data into Grades table INSERT INTO Grades (grade, min_mark, max_mark) VALUES (10, 90, 100), (9, 80, 89), (8, 70, 79), (7, 60, 69), (6, 50, 59), (5, 40, 49), (4, 30, 39), (3, 20, 29), (2, 10, 19), (1, 0, 9); -- Step 5: Query to join tables and filter the data with corrected ORDER BY clause SELECT CASE WHEN g.grade >= 8 THEN s.Name ELSE NULL END AS Name, g.grade AS Grade, s.Marks AS Mark FROM Students s JOIN Grades g ON s.Marks BETWEEN g.min_mark AND g.max_mark ORDER BY g.grade DESC, Name ASC, s.Marks ASC;