ANTWOORDEN HOOFDSTUK 6. 1. SELECT ... 9. SELECT * FROM EMPLOYEE
WHERE SUPERSSN IS NULL;. 10. SELECT DEPENDENT.* FROM EMPLOYEE
...
6. ANTWOORDEN HOOFDSTUK 6 1. SELECT DEPENDENT_NAME FROM DEPENDENT; 2. SELECT PNAME, PLOCATION FROM PROJECT; 3. SELECT FNAME, LNAME FROM EMPLOYEE WHERE DNO=4 AND SEX='M'; 4. SELECT FNAME, LNAME FROM EMPLOYEE WHERE SALARY>30000 AND SEX='M' ORDER BY LNAME, FNAME; 5. SELECT SSN, SALARY FROM EMPLOYEE WHERE BDATE>'1 Jan 1978' OR SALARY>40000 ORDER BY SALARY DESC; 6. SELECT DEPENDENT_NAME FROM DEPENDENT WHERE RELATIONSHIP='SPOUSE' ORDER BY DEPENDENT_NAME; 7. SELECT DEPENDENT_NAME FROM DEPENDENT WHERE RELATIONSHIP='SON' OR RELATIONSHIP='DAUGHTER'; 8. SELECT BDATE FROM EMPLOYEE WHERE LNAME='Smith' AND FNAME='John'; 9. SELECT * FROM EMPLOYEE WHERE SUPERSSN IS NULL; 10. SELECT DEPENDENT.* FROM EMPLOYEE JOIN DEPENDENT ON SSN=ESSN WHERE LNAME='Wong' ORDER BY DEPENDENT_NAME; 11. SELECT FNAME, LNAME FROM EMPLOYEE JOIN DEPARTMENT ON SSN=MGRSSN WHERE DNAME='Administration'; 12. SELECT FNAME, LNAME, BDATE FROM EMPLOYEE JOIN DEPARTMENT ON DNO=DNUMBER WHERE DNAME='Research' OR DNAME='Headquarters' ORDER BY BDATE; 13. SELECT PNAME FROM PROJECT JOIN DEPARTMENT ON DNUM=DNUMBER WHERE DNAME='Administration'; 14. SELECT FNAME, LNAME FROM (EMPLOYEE JOIN WORKS_ON ON SSN=ESSN) JOIN PROJECT ON PNO=PNUMBER WHERE PNAME='Newbenefits'; 15. SELECT FNAME, LNAME FROM EMPLOYEE JOIN DEPARTMENT ON DNO=DNUMBER WHERE SEX='F' AND DNAME='Research'; 16. SELECT B.FNAME, B.LNAME FROM EMPLOYEE A JOIN EMPLOYEE B ON A.SUPERSSN=B.SSN WHERE A.LNAME='Jabbar'; 17. SELECT A.FNAME, A.LNAME FROM EMPLOYEE A JOIN EMPLOYEE B ON A.SUPERSSN=B.SSN WHERE B.LNAME='Borg' AND B.FNAME='James'; 18. SELECT FNAME, LNAME FROM EMPLOYEE JOIN DEPARTMENT ON DNO=DNUMBER WHERE DNAME='Research' OR DNAME='Headquarters'; 19. SELECT A.FNAME, A.LNAME FROM ((EMPLOYEE A JOIN WORKS_ON B ON A.SSN=B.ESSN) JOIN PROJECT D ON B.PNO=D.PNUMBER) JOIN (WORKS_ON C JOIN PROJECT E ON C.PNO=E.PNUMBER) ON B.ESSN=C.ESSN WHERE B.PNOC.PNO AND D.PNAME='ProductX' AND E.PNAME='ProductY'; Databanken antwoorden
Blz. 13
20. SELECT FNAME, LNAME FROM EMPLOYEE WHERE NOT EXISTS (SELECT ESSN FROM WORKS_ON WHERE ESSN=EMPLOYEE.SSN); 21. SELECT FNAME, LNAME FROM DEPARTMENT LEFT JOIN EMPLOYEE ON MGRSSN=SSN WHERE EXISTS (SELECT ESSN FROM DEPENDENT WHERE ESSN=DEPARTMENT.MGRSSN); 22. SELECT MIN(SALARY), MAX(SALARY), AVG(SALARY) FROM EMPLOYEE; 23. SELECT DNAME, MIN(SALARY), MAX(SALARY), AVG(SALARY) FROM EMPLOYEE JOIN DEPARTMENT ON DNO=DNUMBER GROUP BY DNAME; 24. SELECT AVG(SALARY) FROM (EMPLOYEE JOIN WORKS_ON ON SSN=ESSN) JOIN PROJECT ON PNO=PNUMBER WHERE PNAME='ProductX'; 25. SELECT COUNT(DISTINCT salary) FROM employee; 26. SELECT SUM(hours) FROM works_on GROUP BY pno HAVING pno=3; 27. SELECT lname, SUM(hours) FROM works_on JOIN employee ON essn=ssn GROUP BY lname HAVING lname='Smith'; 28. SELECT lname FROM employee JOIN dependent ON ssn=essn GROUP BY lname HAVING COUNT(dependent_name)>=2; 29. SELECT dname AS departmentname, COUNT(ssn) AS nremployees, SUM(salary) AS totalsalary, AVG(salary) AS averagesalary FROM employee JOIN department ON dno=dnumber GROUP BY dname ORDER BY SUM(salary) DESC; 30. SELECT pnumber, pname, COUNT(essn) AS nremployees, SUM(hours) AS workedhours FROM project JOIN works_on ON pnumber=pno GROUP BY pnumber, pname ORDER BY SUM(hours) DESC; 31. SELECT sex, COUNT(ssn),AVG(salary) FROM employee GROUP BY sex; 32. SELECT dname, COUNT(dlocation) FROM department JOIN dept_locations ON department.dnumber=dept_locations.dnumber GROUP BY dname; 33. SELECT pno, SUM(hours) FROM works_on GROUP BY pno; 34. SELECT lname, fname, sex, SUM(hours) FROM employee JOIN works_on ON ssn=essn GROUP BY lname, fname, sex ORDER BY sex, SUM(hours) DESC; 35. SELECT lname, fname, COUNT(dependent_name) FROM employee JOIN dependent ON ssn=essn GROUP BY lname, fname; 36. CREATE VIEW view1 (lname, fname, pname, hours) AS SELECT lname, fname, pname, SUM(hours) FROM employee JOIN (works_on JOIN project ON pno=pnumber) ON ssn=essn GROUP BY lname, fname, pname; 37. CREATE VIEW view2 (dname, nremployees) AS SELECT dname, COUNT(ssn) FROM employee JOIN department ON dno=dnumber GROUP BY dname;
Databanken antwoorden
Blz. 14