STUDENT Student ID Read Student ID Read 3000 23 3001 56 3002
STUDENT (Student ID, Read)
Student ID Read
3000 2.3
3001 5.6
3002 1.3
3003 3.3
3004 2.7
3005 4.8
3006 7.8
3007 1.5
Which student has the highest read score?
Write SQL Query for this
Solution
SQL Query :-
SELECT * FROM STUDENT S1
WHERE N-1 = ( SELECT COUNT(Read) FROM STUDENT S2 WHERE S2.Read > S1.Read ) ;
The question is \"student has the highest read score\" which means first highest read score. Therefore N = 1.
Semi-Final Query :-
SELECT * FROM STUDENT S1
WHERE 1-1 = ( SELECT COUNT(Read) FROM STUDENT S2 WHERE S2.Read > S1.Read ) ;
Final Query :-
SELECT * FROM STUDENT S1
WHERE 0 = ( SELECT COUNT(Read) FROM STUDENT S2 WHERE S2.Read > S1.Read ) ;
Note :-
* Comarison should start from S1.
* Because S1 is Outer Query since Outer Query will be executed first.
