4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE
Dans quel service travaille De Nardi ? Dans quelle ville est implanté le service de Comptabilité ? Qui dirige le service de Comptabilité ? Où habite De Nardi ? Où habite le chef de la R&D ?
REQ 1 select employe.nom, employe.prenom from employe
REQ 2
select employe.nom, employe.prenom from employe where date_emb < { d }
REQ 3
select nom, prenom, adresse from employe, adresse where employe.code_emp = adresse.code_emp
REQ 4
select employe.nom, employe.prenom from employe, service where employe.service = service.code_serv and service.nom_serv='Marketing'
REQ 5
select employe.nom, employe.prenom, service.nom_serv from employe, service where employe.service=service.code_serv
REQ 6
select service.nom_serv from service, localite where service.code_loc = localite.code_loc and (localite.ville='Lyon' or localite.ville='Paris')
REQ 7
select service.nom_serv from service, adresse where service.code_chef=adresse.code_emp and adresse.ville='Paris';
REQ 8
select employe.nom from employe, service where employe.service = service.code_serv and employe.salaire > 3000 and nom_serv=Marketing
REQ 9
select employe.nom from employe, service where service.code_chef = employe.code_emp
REQ10 : moyenne des salaires des employés
CONSEIL : moyenne des salaires des employés
REQ10 : moyenne des salaires des employés select avg(salaire) from employe
REQ11 : moyenne des salaires des titulaires
select avg(salaire) from employe where titulaire=1
REQ12 : nombre demployés du service marketing ayant un salaire supérieur à 3000
select count(code_emp) from employe, service where service=code_serv and nom_serv='Marketing' and salaire > 3000
REQ13 : maximum et minimum des salaires des employés travaillant dans le service R&D
select max(salaire), min(salaire) from employe, service where service=code_serv and nom_serv='R&D'
REQ14 : nom et prénom des employés dans lordre alphabétique croissant du nom
select nom, prenom from employe order by nom
REQ15:nom et prénom des employés pour lesquels le second caractère du code de service est un 1, triés dans lordre alphabétique décroissant des noms
select nom, prenom from employe where service like '_1%' order by nom desc
REQ16:nom, localité dimplantation et département du service des employés dont le nom commence par A ou B
select nom_serv, ville, departemen from employe, service, localite where service = code_serv and service.code_loc = localite.code_loc and (nom like 'A%' or nom like 'B%')
REQ17: nombre demployés ayant un salaire compris entre 3000 et 4500
select count(code_emp) from employe where salaire >= 3000 and salaire <= 4500
REQ18: nom et ville des services dans lesquels au moins un employé gagne plus de 3800
select distinct nom_serv, ville from employe, service, localite where service=code_serv and service.code_loc=localite.code_loc and salaire >= 3800
REQ19: moyenne des salaires des employés groupés par service, avec le nom de ces services
select nom_serv, salaire from employe, service where service = code_serv
REQ19: moyenne des salaires des employés groupés par service, avec le nom de ces services select nom_serv, avg ( salaire ) from employe, service where service = code_serv group by nom_serv
REQ20 nom et prénom des employés avec le nom de leur chef de service
select employe.nom, nom_serv, employe1.nom from employe, service, employe employe1 where employe.service=code_serv and code_chef=employe1.code_emp
REQ21 nom des services avec le nombre demployés dans leur service
REQ21 nom des chefs de service avec le nombre demployés dans leur service select nom_serv, code_emp from employe, service where service = code_serv
REQ21 nom des chefs de service avec le nombre demployés dans leur service select nom_serv, count ( code_emp ) from employe, service where service = code_serv group by nom_serv
REQ21 nom des chefs des services avec le nombre demployés dans leur service
select employe1.nom, count(employe.code_emp) from employe, service, employe employe1 where employe.service = code_serv and code_chef = employe1.code_emp group by employe1.nom
REQ22 somme des salaires des employés groupés par services dans lesquels plus de 3 employés travaillent
select nom_serv, code_emp from employe, service where service = code_serv
REQ22 somme des salaires des employés groupés par services dans lesquels plus de 3 employés travaillent select nom_serv, sum ( salaire ) from employe, service where service = code_serv group by nom_serv having count(code_emp)>3
REQ23 nom des services dans lesquels la moyenne des salaires est supérieure à 3800
select nom_serv, avg(salaire) from employe, service where service = code_serv group by nom_serv having avg(salaire)>3800
REQ24 nom des services dans lesquels la moyenne des salaires est supérieure à 3800 et dont la localité dimplantation commence par M
select nom_serv, ville, avg(salaire) from employe, service, localite where service = code_serv and service.code_loc = localite.code_loc and ville like 'M%' group by nom_serv, ville having avg(salaire)>3800
REQ25 employés habitant dans la même ville que leur chef de service.
select nom, adresse.ville, code_chef, adresse1.ville from employe, adresse, service, adresse adresse1 where employe.code_emp = adresse.code_emp and service = code_serv and code_chef = adresse1.code_emp and adresse.ville = adresse1.ville
REQ26 employés gagnant plus que leur chef
select employe.nom, employe.salaire, code_chef, employe1.salaire from employe, service, employe employe1 where employe.service = code_serv and code_chef = employe1.code_emp and employe.salaire > employe1.salaire
REQ27 employés ayant le salaire minimum
select nom, salaire from employe where salaire = ( select min(salaire) from employe )
REQ28 chef de service gagnant le moins
select nom, salaire from employe, service where code_chef=code_emp and salaire = ( select min(salaire) from employe, service where code_chef = code_emp )
REQ29 Code et nom des employés non chefs de service
select nom from employe where code_emp not in ( select code_chef from service )
REQ29 employés (non chefs de service) gagnant plus quun chef de service
select nom from employe where employe.salaire > ( select min(salaire) from employe, service where code_emp = code_chef )