4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE.

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

Transcript of 4 relations –EMPLOYE –SERVICE –LOCALITE –ADRESSE.

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

)