DCC011 - INTRODUÇÃO A BANCO DE DADOS – SQL AVANÇADO
Utilizando o banco de dados COMPANY, o qual possui o seguinte esquema relacional.
EMPLOYEE(SSN, FNAME,MINIT,LNAME, BDATE,ADDRESS,SEX, SALARY, SUPERSSN, DNO) SUPERSSN → EMPLOYEE; DNO → DEPARTMENT DEPARTMENT(DNUMBER, DNAME, MGRSSN, MGRSTARTDATE) MGRSSN → EMPLOYEE PROJECT(PNUMBER, PNAME, PLOCATION, DNUM) DNUM → DEPARTMENT WORKS_ON(ESSN, PNO, HOURS) ESSN → EMPLOYEE ; PNO → PROJECT DEPENDENT(ESSN, DEPENDENT_NAME, SEX, BDATE, RELAT) ESSN → EMPLOYEE
Defina os comandos SQL para as seguintes consultas (observação: esse banco de dados está disponível na plataforma praticandosql).
- Retorne os dados de empregados ordenados pelo departamento e depois pelo salário
- Retorne todos os projetos (incluindo os sem empregados) seguidos do ssn dos seus empregados
- Retorne as mulheres que não possuem dependentes usando o operador IN
- Retorne as mulheres que não possuem dependentes usando o operador EXISTS
- Retorne o máximo, mínimo e média de horas que os empregados trabalham no projeto 30
- Retorne a quantidade e a média de salário dos empregados que ganham mais de 40 mil
- Retorne os departamentos que possuem mais de um projeto sem usar GROUP BY
- Retorne os departamentos que possuem mais de um projeto usando GROUP BY
- Para cada projeto, retorne o número de empregados que trabalham o número máximo de horas.
- Para cada projeto, retorne o número de empregados que trabalham nele seguido do número total de horas, ordenado pelo número do projeto
- Realize novamente a consulta anterior limitado a projetos com 3 empregados
- Retorne código, número de empregados, nome e média de salário para cada departamento
- Retorne código, número de empregados, nome e média de salário para departamentos com mais de 3 empregados
- Retorne código, nome e média de salário paras departamentos cuja média salarial seja superior a 33000. A coluna de média do salário deve ser renomeada para MEDIA.
- Para os departamentos com mais de 2 empregados, retorne o seu código e a média do salário dos empregados que ganham mais do que 25000.