1. Selecione os nomes de todos os empregados do departamento 'Research' que trabalham mais de 10 horas por semana no projeto 'ProdutoX'.
SELECT E.FNAME
FROM R11_EMPLOYEE E, R11_WORKS_ON W, R11_PROJECT P, R11_DEPARTMENT D
WHERE P.PNUMBER = W.PNO AND W.ESSN = E.SSN AND W.HOURS > 10
AND P.DNUM = D.DNUMBER AND P.PNAME = 'ProdutoX' AND D.DNAME = 'Research';
2. Selecionar o nome dos empregados que tenham um dependente com o mesmo primeiro nome que o deles.
SELECT E.FNAME' 'E.LNAME
FROM R11_EMPLOYEE E
WHERE E.FNAME = ANY
(SELECT D.DEPENDENT_NAME
FROM R11_DEPENDENT D
WHERE D.ESSN = E.SSN)
3. Selecionar o nome dos empregados que são diretamente supervisionados por 'Franklin Wong'.
SELECT E.FNAME' 'E.LNAME
FROM R11_EMPLOYEE E
WHERE E.SUPERSSN =
(SELECT E1.SSN
FROM R11_EMPLOYEE E1
WHERE E1.FNAME = 'Franklin' AND E1.LNAME = 'Wong');
4. Selecionar o nome do projeto e o número total de horas por semana (de todos os empregados) gastas no projeto.
SELECT P.PNAME, SUM(W.HOURS)
FROM R11_PROJECT P, R11_WORKS_ON W
WHERE P.PNUMBER = W.PNO GROUP BY P.PNAME;
5. Selecionar o nome dos empregados que trabalham em todos os projetos.
SELECT E.FNAME
FROM R11_EMPLOYEE E, R11_WORKS_ON WO, R11_PROJECT P
WHERE WO.PNO = P.PNUMBER AND WO.ESSN = E.SSN
GROUP BY E.FNAME;
6. Selecionar o nome dos empregados que não trabalham em nenhum projeto.
SELECT E.FNAME
FROM R11_EMPLOYEE E, R11_WORKS_ON WO, R11_PROJECT P
WHERE WO.PNO = P.PNUMBER AND WO.ESSN NOT IN E.SSN
GROUP BY E.FNAME;
7. Selecionar o nome do departamento e a média salarial de seus empregados.
SELECT DPTO.DNAME, AVG(E.SALARY) AS MEDIA_SALARIO
FROM R11_DEPARTMENT DPTO, R11_EMPLOYEE E
WHERE E.SSN = DPTO.MGRSSN
GROUP BY DPTO.DNAME;
8. Selecione a média salarial dos empregados do sexo feminino.
SELECT AVG(E.SALARY)
FROM R11_EMPLOYEE E
WHERE E.SEX = 'F';
9. Selecione o nome e o endereço dos empregados que trabalhem em pelo menos um projeto localizado em 'Houston', mas cujo departamento não se localiza em 'Houston'.
SELECT E.FNAME, E.ADDRESS
FROM R11_EMPLOYEE E, R11_PROJECT P, R11_DEPARTMENT DPT, R11_DEPT_LOCATIONS DL, R11_WORKS_ON W
WHERE E.DNO = DPT.DNUMBER AND DPT.DNUMBER = DL.DNUMBER
AND DL.DLOCATION <> 'Houston' AND E.SSN = W.ESSN
AND W.PNO = P.PNUMBER AND P.PLOCATION = 'Houston'
GROUP BY E.FNAME, E.ADDRESS;
10. Selecione o nome de todos os gerentes de departamento que não tenham dependentes.
SELECT E.FNAME
FROM R11_EMPLOYEE E, R11_DEPARTMENT DPT
WHERE E.SSN = DPT.MGRSSN AND E.SSN NOT IN
(SELECT D.ESSN
FROM R11_DEPENDENT D);
Nenhum comentário:
Postar um comentário