We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
- Prepare
- SQL
- Basic Join
- The Report
- Discussions
The Report
The Report
Sort by
recency
|
3492 Discussions
|
Please Login in order to post a comment
SELECT CASE WHEN b.GRADE > 7 THEN a.NAME ELSE 'NULL' END NAME, b.GRADE, a.MARKS FROM STUDENTS a JOIN GRADES b on a.MARKS BETWEEN b.MIN_MARK AND b.MAX_MARK ORDER BY b.GRADE DESC, a.NAME ASC;
**Solution is without using JOIN ** WITH GRADES AS (SELECT *, CASE WHEN Marks<=89 THEN FLOOR(cast((Marks/10) as decimal(10,2)))+1 ELSE 10 END GRADE
FROM STUDENTS) SELECT CASE WHEN GRADES.GRADE >=8 THEN NAME ELSE "NULL" END, GRADE, MARKS FROM GRADES ORDER BY GRADE DESC, NAME, MARKS
select results.name,results.grade, results.marks from
(select S.name Name, G.grade, S.marks
from Students S inner join grades G
on S.marks between G.Min_Mark and G.Max_Mark
where S.marks>=70
UNION
select NULL Name, Gr.grade, ST.marks
from Students ST inner join grades Gr
on ST.marks between Gr.Min_Mark and Gr.Max_Mark
where ST.marks<=69 ) results order by results.grade DESC,results.name,results.marks;
SELECT CASE WHEN G.GRADE >= 8 THEN S.NAME ELSE NULL END AS NAME, G.GRADE, S.MARKS FROM STUDENTS S JOIN GRADES G ON S.MARKS BETWEEN G.MIN_MARK AND G.MAX_MARK ORDER BY G.GRADE DESC, CASE WHEN G.GRADE >= 8 THEN S.NAME END ASC, CASE WHEN G.GRADE < 8 THEN S.MARKS END ASC;
SELECT CASE WHEN g.Grade < 8 THEN NULL ELSE s.Name END AS NAME, g.Grade, s.Marks FROM Students s JOIN Grades ON s.Marks BETWEEN g.Min_Mark AND g.Mark_Mark ORDER BY g.Grade DESC, CASE WHEN g.Grade >= 8 THEN s.Name ELSE NULL END ASC, CASE WHEN g.Grade < 8 THEN s.Marks ELSE NULL END ASC;