Project 2
-- Q1 --
CREATE DATABASE alumni;
-- Q2 --
-- All .csv files has been imported
-- Q3 --
USE alumni;
DESC college_a_hs;
DESC college_a_se;
DESC college_a_sj;
DESC college_b_hs;
DESC college_b_se;
DESC college_b_sj;
-- Q6 --
CREATE VIEW college_a_hs_v AS(SELECT * FROM college_a_hs WHERE RollNo IS NOT NULL AND LastUpdate IS NOT NULL AND
Name IS NOT NULL AND FatherName IS NOT NULL AND MotherName IS NOT NULL AND Batch IS NOT NULL AND
Degree IS NOT NULL AND PresentStatus IS NOT NULL AND HSDegree IS NOT NULL AND EntranceExam IS NOT NULL AND Institute IS NOT NULL AND
Location IS NOT NULL);
SELECT * FROM college_a_hs_v;
-- Q7 --
CREATE VIEW college_a_se_v AS(SELECT * FROM college_a_se WHERE RollNo IS NOT NULL AND LastUpdate IS NOT NULL AND
Name IS NOT NULL AND FatherName IS NOT NULL AND MotherName IS NOT NULL AND Batch IS NOT NULL AND
Degree IS NOT NULL AND PresentStatus IS NOT NULL AND Organization IS NOT NULL AND Location IS NOT NULL);
SELECT * FROM college_a_se_v;
-- Q8 --
CREATE VIEW college_a_sj_v AS(SELECT * FROM college_a_sj WHERE RollNo IS NOT NULL AND LastUpdate IS NOT NULL AND
Name IS NOT NULL AND FatherName IS NOT NULL AND MotherName IS NOT NULL AND Batch IS NOT NULL AND
Degree IS NOT NULL AND PresentStatus IS NOT NULL AND Organization IS NOT NULL AND Designation IS NOT NULL AND Location IS NOT NULL);
SELECT * FROM college_a_sj_v;
-- Q9 --
CREATE VIEW college_b_hs_v AS(SELECT * FROM college_b_hs WHERE RollNo IS NOT NULL AND LastUpdate IS NOT NULL AND
Name IS NOT NULL AND FatherName IS NOT NULL AND MotherName IS NOT NULL AND Branch IS NOT NULL AND Batch IS NOT NULL AND
Degree IS NOT NULL AND PresentStatus IS NOT NULL AND HSDegree IS NOT NULL AND EntranceExam IS NOT NULL AND Institute IS NOT NULL AND
Location IS NOT NULL);
SELECT * FROM college_b_hs_v;
-- Q10 --
CREATE VIEW college_b_se_v AS(SELECT * FROM college_b_se WHERE RollNo IS NOT NULL AND LastUpdate IS NOT NULL AND
Name IS NOT NULL AND FatherName IS NOT NULL AND MotherName IS NOT NULL AND Branch IS NOT NULL AND Batch IS NOT NULL AND
Degree IS NOT NULL AND PresentStatus IS NOT NULL AND Organization IS NOT NULL AND Location IS NOT NULL);
SELECT * FROM college_b_se_v;
-- Q11 --
CREATE VIEW college_b_sj_v AS(SELECT * FROM college_b_sj WHERE RollNo IS NOT NULL AND LastUpdate IS NOT NULL AND
Name IS NOT NULL AND FatherName IS NOT NULL AND MotherName IS NOT NULL AND Branch IS NOT NULL AND Batch IS NOT NULL AND
Degree IS NOT NULL AND PresentStatus IS NOT NULL AND Organization IS NOT NULL AND Designation IS NOT NULL AND Location IS NOT NULL);
SELECT * FROM college_b_sj_v;
-- Q12 --
DELIMITER $$
CREATE PROCEDURE Lower_case()
BEGIN
SELECT LOWER(Name) name,LOWER(FatherName) fathername,LOWER(MotherName) mothername FROM college_a_hs_v;
SELECT LOWER(Name) name,LOWER(FatherName) fathername,LOWER(MotherName) mothername FROM college_a_se_v;
SELECT LOWER(Name) name,LOWER(FatherName) fathername,LOWER(MotherName) mothername FROM college_a_sj_v;
SELECT LOWER(Name) name,LOWER(FatherName) fathername,LOWER(MotherName) mothername FROM college_b_hs_v;
SELECT LOWER(Name) name,LOWER(FatherName) fathername,LOWER(MotherName) mothername FROM college_b_se_v;
SELECT LOWER(Name) name,LOWER(FatherName) fathername,LOWER(MotherName) mothername FROM college_b_sj_v;
END $$
CALL Lower_case();
-- Q14 --
DELIMITER $$
CREATE PROCEDURE get_name_collegeA
(
INOUT name1 TEXT(40000)
)
BEGIN
DECLARE na INT DEFAULT 0;
DECLARE namelist VARCHAR(16000) DEFAULT "";
DECLARE namedetail
CURSOR FOR
SELECT Name FROM college_a_hs UNION SELECT Name FROM college_a_se UNION SELECT Name FROM college_a_sj;
DECLARE CONTINUE HANDLER
FOR NOT FOUND SET na =1;
OPEN namedetail;
getame :
LOOP
FETCH FROM namedetail INTO namelist;
IF na = 1 THEN
LEAVE getame;
END IF;
SET name1 = CONCAT(namelist,";",name1);
END LOOP getame;
CLOSE namedetail;
END $$
SET @Name = "";
CALL get_name_collegeA(@Name);
SELECT @Name Name;
-- Q15 --
DELIMITER $$
CREATE PROCEDURE get_name_collegeB
(
INOUT name1 TEXT(40000)
)
BEGIN
DECLARE na INT DEFAULT 0;
DECLARE namelist VARCHAR(16000) DEFAULT "";
DECLARE namedetail
CURSOR FOR
SELECT Name FROM college_b_hs UNION SELECT Name FROM college_b_se UNION SELECT Name FROM college_b_sj;
DECLARE CONTINUE HANDLER
FOR NOT FOUND SET na =1;
OPEN namedetail;
getame :
LOOP
FETCH FROM namedetail INTO namelist;
IF na = 1 THEN
LEAVE getame;
END IF;
SET name1 = CONCAT(namelist,";",name1);
END LOOP getame;
CLOSE namedetail;
END $$
SET @Name = "";
CALL get_name_collegeB(@Name);
SELECT @Name Name;
-- Q16 --
SELECT 'Higher Studies', (SELECT COUNT(*) FROM college_a_hs_v)/((SELECT COUNT(*) FROM college_a_hs_v) + (SELECT COUNT(*) FROM college_a_se_v)
+ (SELECT COUNT(*) FROM college_a_sj_v))*100 'College A Percentage', (SELECT COUNT(*) FROM college_b_hs_v)/((SELECT COUNT(*) FROM college_b_hs_v) + (SELECT COUNT(*) FROM college_b_se_v)
+ (SELECT COUNT(*) FROM college_b_sj_v))*100 'College B Percentage'
UNION
SELECT "Self Employed", (SELECT COUNT(*) FROM college_a_se_v)/((SELECT COUNT(*) FROM college_a_hs_v)+(SELECT COUNT(*) FROM college_a_se_v)
+(SELECT COUNT(*) FROM college_a_sj_v))*100 'College A Percentage',
(SELECT COUNT(*) FROM college_b_se_v)/((SELECT COUNT(*) FROM college_b_hs_v)+(SELECT COUNT(*) FROM college_b_se_v)
+(SELECT COUNT(*) FROM college_b_sj_v))*100 'College B Percentage'
UNION
SELECT "Service Job", (SELECT COUNT(*) FROM college_a_sj_v)/((SELECT COUNT(*) FROM college_a_hs_v)+(SELECT COUNT(*) FROM college_a_se_v)
+(SELECT COUNT(*) FROM college_a_sj_v))*100 'College A Percentage',
(SELECT COUNT(*) FROM college_b_sj_v)/((SELECT COUNT(*) FROM college_b_hs_v)+(SELECT COUNT(*) FROM college_b_se_v)
+(SELECT COUNT(*) FROM college_b_sj_v))*100 'College B Percentage'