编写PL / SQL程序以获取谁的学生的学生ID和学生姓名获得最高分。使用以下表结构。
表名:学生
列:StudentID,StudentFName,StudenLName,DOB,标记
获得结果的方法有多种,如下:
-- USING FETCH
SELECT STUDENT, STUDENTFNAME, STUDENTLNAME, MAX(MARKS) MRK FROM STUDENT
GROUP BY STUDENT, STUDENTFNAME, STUDENTLNAME
ORDER BY MRK DESC NULLS LAST
FETCH FIRST 1 ROW ONLY;
-- USING IN
SELECT * FROM STUDENTS WHERE MARKS IN
(SELECT MAX(MARKS) FROM STUDENT);
-- USING EXISTS
SELECT * FROM STUDENTS S
WHERE NOT EXISTS (SELECT 1 FROM STUDENTS INN
WHERE INN.MARKS > S.MARKS);