Module 4 Assignment Solution
Module 4 Assignment Solution
/*2) Display details of Packages whose sales crossed the 20000 Mark.*/
SELECT TITLE, SCOST, SOLD, (SCOST*SOLD) AS SALES_ABOVE_20000
FROM SOFTWARE
WHERE (SCOST*SOLD) IN (SELECT (SCOST*SOLD) FROM SOFTWARE
WHERE (SCOST*SOLD) > 20000);
UPDATE SOFTWARE
SET STUDENT_NAME = (SELECT STUDENT_NAME FROM STUDIES WHERE STUDIES.Student_id =
SOFTWARE.Student_id)
WHERE EXISTS (SELECT STUDENT_NAME FROM STUDIES WHERE STUDIES.Student_id =
SOFTWARE.Student_id);
SELECT
PROF1 FROM PROGRAMMER
WHERE PROF1 NOT IN (SELECT DEV_IN FROM SOFTWARE)
UNION
SELECT
PROF2 FROM PROGRAMMER
WHERE PROF2 NOT IN (SELECT DEV_IN FROM SOFTWARE);
SELECT
S.STUDENT_PLACE,
SUM(SO.SCOST*SO.SOLD) AS TOTAL_SALES
FROM SOFTWARE SO INNER JOIN STUDIES S ON S.Student_id = SO.Student_id
GROUP BY S.STUDENT_PLACE;
SELECT
SO.STUDENT_NAME,
P.GENDER,
SO.DEV_IN,
SO.TITLE,
SO.SCOST,
SO.DCOST,
SO.SOLD
FROM SOFTWARE SO INNER JOIN PROGRAMMER P ON P.P_ID = SO.Student_id
WHERE SO.DEV_IN = 'PASCAL' AND P.GENDER = 'F';
/*17)Which language has been stated as the
proficiency by most of the Programmers?*/
WITH CTE AS
(
SELECT PROF1, COUNT(PROF1) AS TOTAL FROM PROGRAMMER
GROUP BY PROF1
)
SELECT PROF1 FROM CTE
WHERE TOTAL = (SELECT MAX(TOTAL) FROM CTE);
WITH CTE1 AS
(
SELECT PROF2, COUNT(PROF2) AS TOTAL FROM PROGRAMMER
GROUP BY PROF2
)
SELECT PROF2 FROM CTE1
WHERE TOTAL = (SELECT MAX(TOTAL) FROM CTE1);
UPDATE PROGRAMMER
SET STUDENT_NAME = (SELECT STUDENT_NAME FROM STUDIES WHERE STUDIES.Student_id =
PROGRAMMER.P_ID)
WHERE EXISTS (SELECT STUDENT_NAME FROM STUDIES WHERE STUDIES.Student_id =
PROGRAMMER.P_ID);
/*22) Display the Number of Packages in Each Language Except C and C++.*/
SELECT DEV_IN, COUNT(TITLE) AS TOTAL FROM SOFTWARE
WHERE DEV_IN NOT IN ('C', 'C++')
GROUP BY DEV_IN;
/*23) Display AVG Difference between SCOST, DCOST for Each Package.*/
SELECT * FROM SOFTWARE;
SELECT DEV_IN, AVG(DCOST-SCOST) AS AVG_DIFF FROM SOFTWARE
GROUP BY DEV_IN;
SP_HELPINDEX PROGRAMMER;