CREATE TABEL STUDENT
SQL
--Create table STUDENT with PRIMARY KEY as USN CREATE TABLE STUDENT( USN VARCHAR(10) PRIMARY KEY, SNAME VARCHAR(25), ADDRESS VARCHAR(25), PHONE INTEGER, GENDER CHAR(1)); DESC STUDENT; --Inserting records into STUDENT table INSERT INTO STUDENT VALUES ('1BI13CS020','ANAND','BELAGAVI', 1233423,'M'); INSERT INTO STUDENT VALUES ('1BI13CS062','BABIITHA','BENGALURU',43123,'F'); INSERT INTO STUDENT VALUES ('1BI15CS101','CHETHAN','BENGALURU', 534234,'M'); INSERT INTO STUDENT VALUES ('1BI13CS066','DIVYA','MANGALURU',534432,'F'); INSERT INTO STUDENT VALUES ('1BI14CS010','EESHA','BENGALURU', 345456,'F'); INSERT INTO STUDENT VALUES ('1BI14CS032','GANESH','BENGALURU',574532,'M'); INSERT INTO STUDENT VALUES ('1BI14CS025','HARISH','BENGALURU', 235464,'M'); INSERT INTO STUDENT VALUES ('1BI15CS011','ISHA','TUMKUR', 764343,'F'); INSERT INTO STUDENT VALUES ('1BI15CS029','JOEY','DAVANGERE', 235653,'M'); SELECT * FROM STUDENT; ------------------------------------
CREATE TABEL SEMSEC
SQL
--Create table SEMSEC with PRIMARY KEY as SSID CREATE TABLE SEMSEC( SSID VARCHAR(5) PRIMARY KEY, SEM INTEGER, SEC CHAR(1)); DESC SEMSEC; --Inserting records into SEMSEC table INSERT INTO SEMSEC VALUES ('CSE8A', 8,'A'); INSERT INTO SEMSEC VALUES ('CSE8B', 8,'B'); INSERT INTO SEMSEC VALUES ('CSE8C', 8,'C'); INSERT INTO SEMSEC VALUES ('CSE7A', 7,'A'); INSERT INTO SEMSEC VALUES ('CSE7B', 7,'B'); INSERT INTO SEMSEC VALUES ('CSE7C', 7,'C'); INSERT INTO SEMSEC VALUES ('CSE6A', 6,'A'); INSERT INTO SEMSEC VALUES ('CSE6B', 6,'B'); INSERT INTO SEMSEC VALUES ('CSE6C', 6,'C'); INSERT INTO SEMSEC VALUES ('CSE5A', 5,'A'); SELECT * FROM SEMSEC; ---------------------------------------
CREATE TABEL CLASS
SQL
--Create table CLASS with PRIMARY KEY as USN and FOREIGN KEY USN, SSID CREATE TABLE CLASS( USN VARCHAR(10) PRIMARY KEY, SSID VARCHAR(5), FOREIGN KEY(USN) REFERENCES STUDENT(USN), FOREIGN KEY(SSID) REFERENCES SEMSEC(SSID)); DESC CLASS; --Inserting records into CLASS table INSERT INTO CLASS VALUES ('1BI13CS020','CSE8A'); INSERT INTO CLASS VALUES ('1BI13CS062','CSE8A'); INSERT INTO CLASS VALUES ('1BI13CS066','CSE8B'); INSERT INTO CLASS VALUES ('1BI15CS101','CSE8C'); INSERT INTO CLASS VALUES ('1BI14CS010','CSE7A'); INSERT INTO CLASS VALUES ('1BI14CS025','CSE7A'); INSERT INTO CLASS VALUES ('1BI14CS032','CSE7A'); INSERT INTO CLASS VALUES ('1BI15CS011','CSE4A'); INSERT INTO CLASS VALUES ('1BI15CS029','CSE4A'); INSERT INTO CLASS VALUES ('1BI15CS045','CSE4B'); INSERT INTO CLASS VALUES ('1BI15CS091','CSE4C'); INSERT INTO CLASS VALUES ('1BI16CS045','CSE3A'); INSERT INTO CLASS VALUES ('1BI16CS088','CSE3B'); INSERT INTO CLASS VALUES ('1BI16CS122','CSE3C'); SELECT * FROM CLASS; -------------------------------------
CREATE TABEL SUBJECT
SQL
--Create table SUBJECT with PRIMARY KEY as SUBCODE CREATE TABLE SUBJECT( SUBCODE VARCHAR(8) PRIMARY KEY, TITLE VARCHAR(20), SEM INTEGER, CREDITS INTEGER); DESC SUBJECT; --Inserting records into SUBJECT table INSERT INTO SUBJECT VALUES ('10CS81','ACA', 8, 4); INSERT INTO SUBJECT VALUES ('10CS82','SSM', 8, 4); INSERT INTO SUBJECT VALUES ('10CS83','NM', 8, 4); INSERT INTO SUBJECT VALUES ('10CS84','CC', 8, 4); INSERT INTO SUBJECT VALUES ('10CS85','PW', 8, 4); INSERT INTO SUBJECT VALUES ('10CS71','OOAD', 7, 4); INSERT INTO SUBJECT VALUES ('10CS72','ECS', 7, 4); INSERT INTO SUBJECT VALUES ('10CS73','PTW', 7, 4); INSERT INTO SUBJECT VALUES ('10CS74','DWDM', 7, 4); INSERT INTO SUBJECT VALUES ('10CS75','JAVA', 7, 4); INSERT INTO SUBJECT VALUES ('10CS76','SAN', 7, 4); INSERT INTO SUBJECT VALUES ('15CS51','ME', 5, 4); INSERT INTO SUBJECT VALUES ('15CS52','CN', 5, 4); INSERT INTO SUBJECT VALUES ('15CS53','DBMS', 5, 4); INSERT INTO SUBJECT VALUES ('15CS54','ATC', 5, 4);
CREATE TABEL IAMARKS
SQL
--Create table IAMARKS with PRIMARY KEY as SUBCODE,USN,SSID and FOREIGN KEY SUBCODE, SSID-- CREATE TABLE IAMARKS( USN VARCHAR(10), SUBCODE VARCHAR(8), SSID VARCHAR(5), TEST1 INTEGER, TEST2 INTEGER, TEST3 INTEGER, FINALIA INTEGER, PRIMARY KEY(SUBCODE,USN,SSID), FOREIGN KEY(USN) REFERENCES STUDENT(USN), FOREIGN KEY(SUBCODE) REFERENCES SUBJECT(SUBCODE), FOREIGN KEY(SSID) REFERENCES SEMSEC(SSID)); DESC IAMARKS; --Inserting records into IAMARKS table INSERT INTO IAMARKS (USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES ('1BI15CS101','10CS81','CSE8C', 15, 16, 18); INSERT INTO IAMARKS (USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES ('1BI15CS101','10CS82','CSE8C', 12, 19, 14); INSERT INTO IAMARKS (USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES ('1BI15CS101','10CS83','CSE8C', 19, 15, 20); INSERT INTO IAMARKS (USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES ('1BI15CS101','10CS84','CSE8C', 20, 16, 19); INSERT INTO IAMARKS (USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES ('1BI15CS101','10CS85','CSE8C', 15, 15, 12); SELECT * FROM IAMARKS;
Retrieve details of all Quiries
SQL
--List all the student details studying in fourth semester ‘C’ section. SELECT S.*, SS.SEM, SS.SEC FROM STUDENT S, SEMSEC SS, CLASS C WHERE S.USN = C.USN AND SS.SSID = C.SSID AND SS.SEM = 4 AND SS.SEC='C'; ---------------------------------------- --Compute the total number of male and female students in each semester and in each section.-- SELECT SS.SEM, SS.SEC, S.GENDER, COUNT(S.GENDER) AS COUNT FROM STUDENT S, SEMSEC SS, CLASS C WHERE S.USN = C.USN AND SS.SSID = C.SSID GROUP BY SS.SEM, SS.SEC, S.GENDER ORDER BY SEM; ---------------------------------------- --Create a view of Test1 marks of student USN ‘1BI15CS101’ in all Courses.-- CREATE VIEW STUDENT_TEST1_MARKS_V AS SELECT TEST1, SUBCODE FROM IAMARKS WHERE USN = '1BI15CS101'; SELECT * FROM STUDENT_TEST1_MARKS_V; ---------------------------------------- --Calculate the FinalIA (average of best two test marks) and update the corresponding table for all students.-- DELIMITER // CREATE PROCEDURE AVG_MARKS() BEGIN DECLARE C_A INTEGER; DECLARE C_B INTEGER; DECLARE C_C INTEGER; DECLARE C_SUM INTEGER; DECLARE C_AVG INTEGER; DECLARE C_USN VARCHAR(10); DECLARE C_SUBCODE VARCHAR(8); DECLARE C_SSID VARCHAR(5); DECLARE C_IAMARKS CURSOR FOR SELECT GREATEST(TEST1,TEST2) AS A, GREATEST(TEST1,TEST3) AS B, GREATEST(TEST3,TEST2) AS C, USN, SUBCODE, SSID FROM IAMARKS WHERE FINALIA IS NULL FOR UPDATE; OPEN C_IAMARKS; LOOP FETCH C_IAMARKS INTO C_A, C_B, C_C, C_USN, C_SUBCODE, C_SSID; IF (C_A != C_B) THEN SET C_SUM=C_A+C_B; ELSE SET C_SUM=C_A+C_C; END IF; SET C_AVG=C_SUM/2; UPDATE IAMARKS SET FINALIA = C_AVG WHERE USN = C_USN AND SUBCODE = C_SUBCODE AND SSID = C_SSID; END LOOP; CLOSE C_IAMARKS; END; // CALL AVG_MARKS(); SELECT * FROM IAMARKS; -------------------------------------------- -- 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,S.SNAME,S.ADDRESS,S.PHONE,S.GENDER, IA.SUBCODE, (CASE WHEN IA.FINALIA BETWEEN 17 AND 20 THEN 'OUTSTANDING' WHEN IA.FINALIA BETWEEN 12 AND 16 THEN 'AVERAGE' ELSE 'WEAK' END) AS CAT FROM STUDENT S, SEMSEC SS, IAMARKS IA, SUBJECT SUB WHERE S.USN = IA.USN AND SS.SSID = IA.SSID AND SUB.SUBCODE = IA.SUBCODE AND SUB.SEM = 8;