66
• 4 relations – EMPLOYE – SERVICE – LOCALITE – ADRESSE

4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

Embed Size (px)

Citation preview

Page 1: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

• 4 relations– EMPLOYE– SERVICE– LOCALITE– ADRESSE

Page 2: 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 ?

Page 3: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE
Page 4: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 1

select employe.nom, employe.prenom

from employe

Page 5: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 2

Page 6: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 2

select employe.nom, employe.prenom

from employe

where date_emb < { d ’1995-01-01’ }

Page 7: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 3

Page 8: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 3

select nom, prenom, adresse

from employe, adresse

where employe.code_emp = adresse.code_emp

Page 9: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 4

Page 10: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 4

select employe.nom, employe.prenom

from employe, service

where employe.service = service.code_serv and service.nom_serv='Marketing'

Page 11: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 5

Page 12: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 5

select employe.nom, employe.prenom, service.nom_serv

from employe, service

where employe.service=service.code_serv

Page 13: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 6

Page 14: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 6

select service.nom_serv

from service, localite

where service.code_loc = localite.code_loc

and (localite.ville='Lyon' or localite.ville='Paris')

Page 15: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 7

Page 16: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 7

select service.nom_serv

from service, adresse

where service.code_chef=adresse.code_emp and adresse.ville='Paris';

Page 17: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 8

Page 18: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 8

select employe.nom

from employe, service

where employe.service = service.code_serv and employe.salaire > 3000

and nom_serv=‘Marketing’

Page 19: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 9

Page 20: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ 9

select employe.nom

from employe, service

where service.code_chef = employe.code_emp

Page 21: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ10 : moyenne des salaires des employés

Page 22: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

CONSEIL : moyenne des salaires des employés

Page 23: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ10 : moyenne des salaires des employés

select avg(salaire)

from employe

Page 24: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ11 : moyenne des salaires des titulaires

Page 25: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ11 : moyenne des salaires des titulaires

select avg(salaire)

from employe

where titulaire=1

Page 26: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ12 : nombre d’employés du service marketing ayant un salaire supérieur à

3000€

Page 27: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ12 : nombre d’employé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

Page 28: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ13 : maximum et minimum des salaires des employés travaillant dans

le service R&D

Page 29: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

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'

Page 30: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ14 : nom et prénom des employés dans l’ordre alphabétique croissant du

nom

Page 31: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ14: nom et prénom des employés dans l’ordre alphabétique croissant du

nom

select nom, prenom

from employe

order by nom

Page 32: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ15: nom et prénom des employés pour lesquels le second caractère du code de

service est un 1, triés dans l’ordre alphabétique décroissant des noms

Page 33: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ15: nom et prénom des employés pour lesquels le second caractère du code de

service est un 1, triés dans l’ordre alphabétique décroissant des noms

select nom, prenom

from employe

where service like '_1%'

order by nom desc

Page 34: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ16: nom, localité d’implantation et département du service des employés dont

le nom commence par A ou B

Page 35: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ16: nom, localité d’implantation 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%')

Page 36: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ17: nombre d’employés ayant un salaire compris entre 3000€ et 4500€

Page 37: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ17: nombre d’employés ayant un salaire compris entre 3000€ et 4500€

select count(code_emp)

from employe

where salaire >= 3000 and salaire <= 4500

Page 38: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ18: nom et ville des services dans lesquels au moins un employé

gagne plus de 3800€

Page 39: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

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

Page 40: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ19: moyenne des salaires des employés groupés par service, avec le

nom de ces services

Page 41: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

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

Page 42: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

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

Page 43: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ20 nom et prénom des employés avec le nom de leur chef de service

Page 44: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ20 nom et prénom des employés avec le nom de leur chef de service

Page 45: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

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

Page 46: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ21 nom des chefs des services avec le nombre d’employés dans leur service

Page 47: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ21 nom des chefs des services avec le nombre d’employé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

Page 48: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ22 somme des salaires des employés groupés par services dans lesquels plus de 3 employés travaillent

Page 49: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

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

Page 50: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

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

Page 51: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ23 nom des services dans lesquels la moyenne des salaires est supérieure à 3800€

Page 52: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

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

Page 53: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ24 nom des services dans lesquels la moyenne des salaires est supérieure à 3800€ et dont la localité d’implantation commence par M

Page 54: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ24 nom des services dans lesquels la moyenne des salaires est supérieure à 3800€ et dont la localité d’implantation 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

Page 55: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ25 employés habitant dans la même ville que leur chef de service.

Page 56: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

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

Page 57: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ26 employés gagnant plus que leur chef

Page 58: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

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

Page 59: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ27 employés ayant le salaire minimum

Page 60: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ27 employés ayant le salaire minimum

select nom , salaire

from employe

where salaire = ( select min(salaire) from employe )

Page 61: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ28 chef de service gagnant le moins

Page 62: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

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 )

Page 63: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ29 Code et nom des employés non chefs de service

Page 64: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

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

)

Page 65: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ29 employés (non chefs de service) gagnant plus qu’un chef de service

Page 66: 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE

REQ29 employés (non chefs de service) gagnant plus qu’un chef de service

select nom

from employe

where employe.salaire > (

select min(salaire)

from employe , service

where code_emp = code_chef

)