Vous êtes sur la page 1sur 2

Algbre relationnelle

Soit le schma relationnel :


EMP(Matr, NomE, Poste, DatEmb, Sup, Salaire, Commission, NumDept)
DEPT(NumDept, NomDept, Lieu)
PROJET(CodeP, NomP)
PARTICIPATION(Matr, CodeP, Fonction)

Requtes simples :
1. Matricules et des noms des employs qui ont t embauchs avant le 1er janvier 1995.
2. Noms des employs qui ont le poste de secrtaire.
3. Noms des employs avec le nom du dpartement o ils travaillent.
4. Noms des employs qui travaillent dans le dpartement FINANCES.
5. Numros de dpartement qui ont des ingnieurs.
6. Noms des employs qui gagnent plus que leur suprieur.
7. Matricules des employs qui participent tous les projets.
8. Noms des employs qui participent tous les projets.
9. Numros des dpartements qui participent tous les projets.
10. Noms de dpartements qui ont tous les postes.
11. Noms des employs qui ne participent aucun projet.
12. Noms des dpartements qui ont des ingnieurs et des secrtaires.

Quelques interrogations simples


1.
2.
3.
4.
5.

Affichez toutes les informations de la table EMP.


Affichez seulement la liste des matricules avec les noms.
Affichez les noms des employs du dpartement 20.
Trouvez le poste des employs dont le salaire est suprieur 3000 .
Affichez le nom des commerciaux (poste = COMMERCIAL) et des ingnieurs (poste
= INGENIEUR), et la somme totale perue (salaire + commission).

Interrogations sur une seule table


1. Liste des divers postes, en n'affichant chaque poste qu'une seule fois.
2. On considrera qu'une commission NULL correspond un employ qui ne touche
aucune commision (donc commission = 0).
Noms des employs dont le salaire est infrieur la commission.
Noms des employs dont le salaire est suprieur la commission.
3. Noms des employs qui ne touchent pas de commission.
4. Noms des employs dont la 2me lettre est un E.
5. Numros de dpartement dont au moins un employ touche une commission (au sens
o la commission de l'employ n'est pas NULL).
6. Noms des employs qui touchent entre 2.000 et 8.000 .

Jointures
1. Affichez le produit cartsien des noms des dpartements par les lieux.
2. Noms des employs et lieu o ils travaillent.
3. Lieu des dpartements (mais pas les noms des dpartements) dans lesquels des
employs touchent une commission, en utilisant une jointure.
4. Noms des suprieurs directs de chaque employ qui a un suprieur (nom des employs
qui ont un suprieur, suivi du nom du suprieur).
5. Noms des employs, avec le nom de leur suprieur direct quand ils en ont un. Mme
les employs qui n'ont pas de suprieur doivent tre affichs.
6. Nom des employs qui sont le suprieur d'un autre employ.

7. Noms des projets o sont inscrits des employs des dpartements de Grenoble.

Sous-interrogations
1. Lieu des dpartements dans lesquels des employs touchent une commission, en
utilisant cette fois une sous-interrogation et non plus une jointure.
2. Noms et lieux des dpartements dans lesquels il y a au moins un ingnieur.
Pouvez-vous y arriver au moyen d'une jointure ?
Pouvez-vous y arriver au moyen d'une sous-interrogation ?
3. Noms et lieux des dpartements dans lesquels il n'y a pas d'ingnieur.
Pouvez-vous y arriver au moyen d'une jointure ?
Pouvez-vous y arriver au moyen d'une sous-interrogation ?
4. Matricules et noms des employs qui ne sont les suprieurs d'aucun employ.
tonnant ? Faites afficher le nom de chaque employ avec le matricule de son
suprieur et faites appel votre logique. Corrigez votre premire requte pour avoir ce
qui est demand.

Sous-interrogations "avances"
1. A l'aide d'une sous-interrogation synchronise, dressez la liste des employs qui
gagnent moins de 50 % du salaire de leur suprieur direct.
2. Noms des employs qui gagnent plus que tous les commerciaux.
3. Noms des employs qui gagnent plus que tous les commerciaux de leur dpartement.
Proposez 2 mthodes, une affichant les noms des employs dont le dpartement ne
comprend pas de commerciaux, et une autre ne les affichant pas. Laquelle vous semble
rpondre le plus logiquement la question ?
4. En utilisant une sous-interrogation plusieurs colonnes, dressez la liste des employs
ayant le mme poste et le mme suprieur que BERGER.

Fonctions
1. Pour chaque employ, affichez dans une colonne le plus grand du salaire ou de la
commission.
2. En utilisant la table DUAL (table bidon une ligne et une colonne), affichez la date du
jour.
3. Testez d'autres fonctions qui vous ont t donne dans le cours. Testez en particulier
les fonctions qui manipulent les dates et les chanes de caractres. Par exemple, faites
afficher le numro du jour de la semaine o vous tes n.

Vous aimerez peut-être aussi