0% ont trouvé ce document utile (0 vote)
3 vues9 pages

TP1 SQL

Transféré par

hazmajoker
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues9 pages

TP1 SQL

Transféré par

hazmajoker
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd

TP 1

Ordres Basiques
Table des matières
1. ORDRE SELECT BASIQUE.............................................................................................................................3
1.1. QUESTION 1....................................................................................................................................................3
1.2. QUESTION 2....................................................................................................................................................3
1.3. QUESTION 3....................................................................................................................................................3
2. RESTRICTION ET TRI DES DONNÉES.......................................................................................................4
2.1. QUESTION 1....................................................................................................................................................4
2.2. QUESTION 2....................................................................................................................................................4
2.3. QUESTION 3....................................................................................................................................................4
2.4. QUESTION 4....................................................................................................................................................4
2.5. QUESTION 5....................................................................................................................................................4
2.6. QUESTION 6....................................................................................................................................................4
2.7. QUESTION 7....................................................................................................................................................5
2.8. QUESTION 8....................................................................................................................................................5
3. FONCTIONS SINGLE-ROW............................................................................................................................6
3.1. QUESTION 1....................................................................................................................................................6
3.2. QUESTION 2....................................................................................................................................................6
3.3. QUESTION 3....................................................................................................................................................6
3.4. QUESTION 4....................................................................................................................................................6
3.5. QUESTION 5....................................................................................................................................................6
3.6. QUESTION 6....................................................................................................................................................6
3.7. QUESTION 7....................................................................................................................................................7
3.8. QUESTION 8....................................................................................................................................................7
4. FONCTIONS DE GROUPE...............................................................................................................................8
4.1. QUESTION 1....................................................................................................................................................8
4.2. QUESTION 2....................................................................................................................................................8
4.3. QUESTION 3....................................................................................................................................................8
4.4. QUESTION 4....................................................................................................................................................8
4.5. QUESTION 5....................................................................................................................................................8
4.6. Question 6......................................................................................................................................................8
FORMATION SQL Ordres basiques Enoncés des TP 3/9

1. Ordre SELECT basique


1.1. Question 1
Il y a quatre erreurs dans le code de la requête suivante. Pouvez-vous les trouver ?

SELECT employee_id, last_name sal x 12 ANNUAL SALARY


FROM employees;

1.2. Question 2
Affichez la structure de la table EMPLOYEES.

Le département HR souhaite obtenir le nom, l’identifiant du poste, la date d’embauche et le numéro


d’employé de tous les employés travaillant dans ce département.

1.3. Question 3
Le département HR a besoin d’une requête qui affiche les différents postes de la table EMPLOYEES.
FORMATION SQL Ordres basiques Enoncés des TP 4/9

2. Restriction et tri des données

2.1. Question 1
Pour faire un budget, le département HR souhaite avoir une requête qui affiche le nom et le salaire de
tous les employés qui gagnent plus de 12 000$.

2.2. Question 2
Le département HR souhaite trouver les employés qui ont les plus petits et les plus gros salaires. Pour
cela afficher le nom et le salaire de tous les employés dont le salaire n’est pas compris entre 5 000$ et
12 000$.

2.3. Question 3
Créez une requête qui affiche le nom, l’identifiant du poste et la date d’embauche des employés qui
portent le nom ‘Matos’ ou ‘Taylor’. Classez le résultat en fonction de la date d’embauche par ordre
croissant.

2.4. Question 4
Le département HR souhaite une requête qui affiche le nom et la date d’embauche de tous les
employés qui ont été engagés en 1994.

2.5. Question 5
Créez une requête qui affiche le nom et l’identifiant du job de tous les employés qui n’ont pas de
responsables.

2.6. Question 6
Affichez le nom, le salaire et la commission de tous les employés qui gagnent une commission. Triez
les données en fonction du salaire et de la commission par ordre décroissant.
FORMATION SQL Ordres basiques Enoncés des TP 5/9

2.7. Question 7
Affichez tous les noms d’employés qui ont un a et un e dans leur nom.

2.8. Question 8
Affichez le nom, l’identifiant du poste et le salaire de tous les employés dont le poste est SA_REP ou
ST_CLERK et dont le salaire n’est pas égal à 2 500$, 3 500$ ou 7 000$.
FORMATION SQL Ordres basiques Enoncés des TP 6/9

3. Fonctions Single-Row
3.1. Question 1
Ecrivez une requête qui affiche la date courante. Nommez cette colonne Date.

3.2. Question 2
Le département HR souhaite une requête qui affiche le numéro d’employé, le nom et le salaire
augmenté de 15,5% (le résultat devra être un nombre entier) de tous les employés. Nommez cette
dernière colonne New Salary.

3.3. Question 3
Ecrivez une requête qui affiche le nom (avec la première lettre en majuscule et les autres en
minuscules) et la longueur du nom pour tous les employés dont le nom commence par les lettres J, A
ou M. Donnez à chaque colonne un nom approprié. Ordonnez les données par nom.

3.4. Question 4
Le département HR veut savoir depuis combien de temps chaque employés est dans l’entreprise. Pour
chaque employé, vous devrez afficher le nom et calculer le nombre de mois qu’ils ont passés dans
l’entreprise depuis leurs dates d’embauche jusqu’à aujourd’hui. Nommez cette colonne
MONTHS_WORKED. Triez le résultat par nombre de mois. Arrondissez le nombre de mois au nombre
de mois le plus proche.

3.5. Question 5
Créez une requête qui affiche le nom et le salaire de tous les employés. Formatez le salaire pour qu’il
devienne une chaîne formée du salaire et de caractères $ pour obtenir une longueur de 15 caractères.

3.6. Question 6
Créez une requête qui affiche le nom et la commission de tous les employés. Si un employé ne gagne
pas de commission, afficher « Pas de commission ». Nommez la colonne COMM
FORMATION SQL Ordres basiques Enoncés des TP 7/9

3.7. Question 7
Créez une requête qui affiche les 8 premiers caractères du nom des employés et indiquez le montant
de leur salaire sous forme de graphique. Chaque astérisque équivaut à 1000$. Triez les données en
fonction de salaire par ordre décroissant. Nommez la colonne
EMPLOYEES_AND_THEIR_SALARIES.

3.8. Question 8
En utilisant la fonction DECODE, écrivez une requête qui affiche le rang de l’employé basé sur la
colonne JOB_ID. Utilisez ces informations :

Rang du poste:
AD_PRES A
ST_MAN B
IT_PROG C
SA_REP D
ST_CLERK E
S’il n’est pas dans la liste 0
FORMATION SQL Ordres basiques Enoncés des TP 8/9

4. Fonctions de groupe

4.1. Question 1
Créez une requête pour afficher le plus grand et le plus petit des salaires ainsi que la somme et la
moyenne de tous les salaires des employés. Nommez respectivement ces colonnes Maximum,
Minimum, Sum et Average. Arrondissez les valeurs à l’entier le plus proche

4.2. Question 2
Ecrivez une requête permettant d’afficher le nombre de personne qui ont le même poste.

4.3. Question 3
Déterminez le nombre de responsable sans les lister. Nommez cette colonne Number of
managers.
Aide : Utilisez la colonne manager_id.

4.4. Question 4
Créez une requête qui affiche le numéro d’employé du responsable et le salaire de l’employé ayant le
salaire le plus petit. Les données ne doivent pas contenir d’employés qui n’ont pas de responsable, ni
ceux dont le salaire est inférieur ou égale à 6 000$. Triez les données en fonction du salaire par ordre
décroissant.

4.5. Question 5
Créer une requête qui affiche le nombre total d’employés et, à partir ce total, le nombre d’employés
qui ont été embauchés en 1995, 1996, 1997 et 1998. Nommez ces colonnes de manière appropriées.

4.6. Question 6
Ecrivez une requête retournant le résultat sous forme de tableau. Chaque department_id aura sa
propre colonne, la somme des salaires pour chaque identifiant du poste devra apparaître dans la
colonne du département correspondante. Les départements pris en compte sont les départements 20,
50, 80 et 90.
Le résultat recherché doit correspondre à la capture d’écran ci-dessous :
FORMATION SQL Ordres basiques Enoncés des TP 9/9

...

Vous aimerez peut-être aussi