Tuesday, December 4, 2018

Program 4 (QUERIES)


Queries (Program 4)


1.List all the student details studying in fourth semester ‘C’ section.

SELECT *

FROM STUDENT

WHERE Usn IN(SELECT Usn

                                 FROM CLASS

                                 WHERE Ssid IN(SELECT Ssid

                                                                  FROM SEMSEC

                                                                  WHERE Sem=4 AND Sec='C'));
                                              OR

SELECT S.*,Sem,Sec 

FROM STUDENT S,CLASS C,SEMSEC SS

WHERE S.Usn=C.Usn AND C.Ssid=SS.Ssid AND Sem=4 AND Sec='C';


OR

SELECT S.*,Ssid

FROM STUDENT S,CLASS C

WHERE S.Usn=C.Usn AND Ssid='4c';


2.  Compute the total number of male and female students in each semester and in each section.

SELECT Sem,Sec,Gender,count(s.Gender) as COUNT

FROM STUDENT S,CLASS C,SEMSEC SS

WHERE S.Usn=C.Usn AND C.Ssid=SS.Ssid

GROUP BY Sem,Sec,Gender

ORDER BY Sem;


3.  Create a view of Test1 marks of student USN ‘1BI15CS101’ in all subjects. (We have changed to 1KG13CS001).

CREATE VIEW STUD_TEST1_MARKS

AS SELECT Subcode,Test1

       FROM IAMARKS

       WHERE Usn='1KG13CS001';


4.  Calculate the FinalIA (average of best two test marks) and update the corresponding table for all students.

CREATE OR REPLACE PROCEDURE AVG_MARKS

IS

CURSOR C_IAMARKS IS

SELECT GREATEST(TEST1,TEST2), GREATEST(TEST1,TEST3), GREATEST(TEST2,TEST3)

FROM IAMARKS

WHERE FinalIA IS NULL

FOR UPDATE;



C_A number;

C_B number;

C_C number;

C_SM number;

C_AV number;



BEGIN

    OPEN C_IAMARKS;

LOOP

            FETCH C_IAMARKS INTO C_A,C_B,C_C;

            EXIT WHEN C_IAMARKS%NOTFOUND;

           

IF(C_A!=C_B) THEN

C_SM:=C_A+C_B;

ELSE

C_SM:=C_A+C_C;

END IF;



C_AV:=C_SM/2;



UPDATE IAMARKS SET FinalIA=C_AV WHERE CURRENT OF C_IAMARKS;

END LOOP;

     CLOSE C_IAMARKS;

END;


5. Categorize students based on the following criterion: 

If FinalIA = 17 to 20 then CAT = ‘Outstanding’

If FinalIA = 12 to 16 then CAT = ‘Average’

If FinalIA< 12 then CAT = ‘Weak’

Give these details only for 8th semester A, B, and C section students.

SELECT S.Usn,Sname,IA.Subcode,

            (CASE

                        WHEN FinalIA BETWEEN 17 AND 20 THEN 'OUTSTANDING'

                        WHEN FinalIA BETWEEN 12 AND 16 THEN 'AVERAGE'

                        ELSE 'WEAK'

            END) AS CATEGORY

FROM STUDENT S,IAMARKS IA,SUBJECT SUB,SEMSECSS

WHERE S.Usn=IA.Usn AND IA.Ssid=SS.Ssid AND IA.Subcode=SUB.Subcode AND SS.Sem=8;

No comments:

Post a Comment

Program 5 (QUERIES)

Queries (Program 5) 1. Make a list of all project numbers for projects that involve an employee whose last name is ‘Scott’, either as ...