0% ont trouvé ce document utile (0 vote)
12 vues57 pages

338 Exercices Pratiques Oracle SQL

Le document présente un ensemble de 338 exercices Oracle SQL, organisés par thèmes tels que l'installation, la création d'utilisateurs, et divers types de requêtes SQL. Il inclut des instructions détaillées pour installer Oracle, créer des connexions et des schémas, ainsi que des exercices pratiques sur la récupération de données, les opérateurs, les jointures, et les sous-requêtes. Chaque section contient des exercices spécifiques pour renforcer les compétences en SQL avec des exemples concrets.

Traduit par

ScribdTranslations
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues57 pages

338 Exercices Pratiques Oracle SQL

Le document présente un ensemble de 338 exercices Oracle SQL, organisés par thèmes tels que l'installation, la création d'utilisateurs, et divers types de requêtes SQL. Il inclut des instructions détaillées pour installer Oracle, créer des connexions et des schémas, ainsi que des exercices pratiques sur la récupération de données, les opérateurs, les jointures, et les sous-requêtes. Chaque section contient des exercices spécifiques pour renforcer les compétences en SQL avec des exemples concrets.

Traduit par

ScribdTranslations
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 PDF, TXT ou lisez en ligne sur Scribd

Exercices Oracle SQL

338 exercices

1
Contenu
Processus d'installation ......................................................................................................................................3
Installer l'édition Express d'Oracle 11g ............................................................................................................3
Oracle 12c ................................................................................................................................................5
Installez SQL Developer et JDK.................................................................................................................5
Travailler avec Oracle sans rien installer.........................................................................................6
Connexion en tant que SYSDBA...................................................................................................................................14
Créer un utilisateur apprendre
Créer une connexion Learn et un schéma. ...................................................................................................16
Tables pour les exercices.....................................................................................................................................17
Récupération de données de base à partir de tables [33 Exercices] .........................................................................................17
Opérateurs booléens et relationnels [12 exercices]........................................................................................20
Opérateurs génériques et spéciaux [22 Exercices]]...........................................................................................22
Fonctions d'agrégation [25 exercices] ...........................................................................................................24
Formatage des requêtes SQL [10 Exercices] ..............................................................................................27
Interrogation SQL sur plusieurs tables [7 exercices]............................................................................................28
FILTRAGE et TRI dans la base de données RH [38 Exercices] ......................................................................29
JOINS SQL [29 Exercices] .........................................................................................................................33
JOIN SQL sur la base de données RH [27 exercices] ..............................................................................................36
SOUS-REQUÊTES SQL [39 Exercices].............................................................................................................39
SOUS-REQUÊTES SQL sur la base de données RH [55 exercices]..................................................................................43
Union SQL[9 Exercices]..............................................................................................................................50
Vue SQL [16 Exercices] ............................................................................................................................51
Gestion des comptes utilisateurs SQL [16 Exercices] ...........................................................................................52

2
Processus d'installation

Installer l'édition Express d'Oracle 11g


[Link]
Créer un compte et se connecter.

3
4
Oracle 12c

C'est trop volumineux, 2,8 Go, et pour ce dont nous avons besoin, l'édition Express est suffisante.

Installez SQL Developer et JDK

[Link]

5
Travailler avec Oracle sans rien installer

Il existe un autre site Oracle que vous pouvez utiliser pour exécuter des commandes SQL sans installer de base de données et de client.
outil comme SQL Developer.

Le processus de configuration est juste un peu plus complexe que l'utilisation de Live SQL, mais il y a quelques différences.
que vous pourriez aimer, donc si vous voulez essayer, voici un guide détaillé sur la façon de créer votre compte
là.

Tout d'abord, allez sur [Link]

Une fois là-bas, cliquez sur le bouton « Commencer » :

Dans la page « Commencer », sélectionnez l'option « Espace de travail gratuit » :

6
Dans la première étape de l'assistant "Demander un espace de travail", sélectionnez l'option "Développement d'application".
et cliquez sur « Suivant » :

7
Dans l'étape "Identification", saisissez vos détails. Dans le champ espace de travail, écrivez le nom que vous souhaitez utiliser.
pour votre espace de travail. Cela doit être unique, il est donc généralement bon d'utiliser un nom qui inclut votre
initiales ou partie de votre nom :

8
Dans l'étape suivante, écrivez le nom que vous souhaitez donner à votre schéma. Le schéma n'est que le nom de la
utilisateur de base de données qui possédera les objets que vous créez dans votre espace de travail. Vous pouvez cliquer sur la question
marquez en cas de doutes sur la façon de choisir le nom. Pour l'allocation d'espace, 10 Mo devraient être
assez.

Dans l'étape suivante, répondez simplement aux 3 questions comme vous le souhaitez.

9
Read and accept the terms of the service.

Dans la dernière étape, examinez simplement vos détails et cliquez sur « Soumettre la demande ».

10
Vous verrez un écran de confirmation, vous informant qu'un e-mail vous sera envoyé une fois que l'espace de travail
est créé.

L'e-mail que vous recevrez sera similaire à celui-ci. Pour compléter le processus, cliquez sur le lien à
la fin du message :

11
Une fois l'espace de travail créé, il vous sera demandé de changer votre mot de passe, alors définissez un nouveau mot de passe.
que tu n'oublieras pas.

Après avoir changé le mot de passe, vous serez connecté à votre espace de travail. Sélectionnez l'« Atelier SQL ».
option.

12
Dans l'atelier SQL, vous pouvez sélectionner "Commandes SQL" pour exécuter du code SQL, ou "Scripts SQL" pour
téléchargez les scripts nécessaires pour le cours lorsque certaines leçons mentionnent qu'un script doit être exécuté :

Et c'est tout!

The main benefit of using apex instead of Live SQL, is that the tables or objects you create in apex, do
persiste d'une session à l'autre, alors que sur Live SQL, vous devez recréer les tables à chaque fois.
heure à laquelle vous commencez une nouvelle session.

Cela signifie que si vous utilisez Apex, vous n'avez pas besoin d'exécuter les scripts qui ont été conçus pour Live SQL, mais le
celles qui seraient utilisées si vous exécutiez une base de données locale. De plus, vous n'aurez pas besoin d'exécuter un script chaque
l'heure à laquelle vous commencez une nouvelle session.

D'autre part, vous ne pouvez pas exécuter plus d'une commande SQL à la fois dans Apex. Si vous en avez plus
qu'une déclaration SQL dans l'Atelier SQL et que vous appuyez sur CTRL+ENTRÉE ou cliquez sur "Exécuter"
bouton, vous obtiendrez une erreur. Vous pouvez avoir plus d'une déclaration là-bas mais vous devez exécuter uniquement
un à la fois, et vous le faites en sélectionnant ou en marquant la commande que vous souhaitez exécuter (comme dans l'image
below) and then pressing CTRL+ENTER or clicking on the “Run” button.

13
Connectez-vous en tant que SYSDBA
Créez une connexion.

14
Nom de la connexion : C'est à vous de choisir mais il serait bon de mettre SYS ou SYSDBA

Nom d'utilisateur et mot de passe : celui que vous avez configuré lors de l'installation de
Oracle Express
Nom d'hôte : est localhost parce que vous utilisez votre station

Port : 1521
Sid : est une ex d'éditions express si vous installez un autre paquet vous pourriez
doit changer le SID
IMPORTANT pour vous SYS, vous devez sélectionner le rôle SYSDBA.

Créer un utilisateur apprendre

Après vous être connecté en tant qu'administrateur SYS, vous devez créer un nouvel utilisateur. À partir de cet utilisateur, vous travaillerez non.
du compte système.

CRÉER UN UTILISATEUR learn IDENTIFIÉ PAR learn; -- Création d'utilisateur

ACCORDER CREATE SESSION à learn; -- Nécessaire de se connecter à la base de données

ACCORDER CREATE ANY TABLE à learn; -- Nécessaire pour pouvoir créer des tableaux
ACCORDER DES RESSOURCES pour apprendre; -- Nécessaire d'étendre l'espace de tables système

ACCORDER le RÔLE SELECT_CATALOG_ROLE à learn; -- Nécessaire pour pouvoir exécuter des commandes AutoTrace

ACCORDER LA CRÉATION DE VUE À learn; -- Nécessaire pour pouvoir créer des vues
ACCORDER UN ESPACE DE TABLE INFINI À learn; -- Nécessaire d'étendre un espace de table lorsque cela est nécessaire

ACCORDER LA CONNEXION À nom_utilisateur ;

Vous trouvez cela dans le fichier [Link] et copiez-collez dans Oracle developer.
15
Déconnectez-vous de SYS.

Cliquez droit sur SYS et Déconnecter.

Créer une connexion Learn et un schéma.

16
Créez la connexion comme vous le voyez sur l'image.

Et Sauvegarder

Les tables pour les exercices


Créer un Schéma
Créez les tables nécessaires pour les exercices. À partir du fichier [Link], copiez et collez tout le texte et exécutez.
Maintenant, vous avez tous les tableaux pour les exercices.

Récupération de données de base à partir de tables [33 exercices]

1. Écrire une instruction SQL pour afficher toutes les informations de tous les vendeurs

Table : vendeur

Écrivez une instruction SQL pour afficher une chaîne "Ceci est un exercice SQL, pratique et
Solution.

3. Écrivez une requête pour afficher trois nombres dans trois colonnes.

4. Écrivez une requête pour afficher la somme de deux nombres 10 et 15 depuis un serveur RDMS.

5. Écrivez une requête pour afficher le résultat d'une expression arithmétique.

17
6. Écrivez une instruction SQL pour afficher des colonnes spécifiques telles que le nom et la commission pour tous les

vendeurs.
Table : vendeur

7. Écrivez une requête pour afficher les colonnes dans un ordre spécifique comme la date de commande, l'identifiant du vendeur,

numéro de commande et montant d'achat pour toutes les commandes

Table: orders

[Link] a query which will retrieve the value of salesman id of all salesmen, getting orders
des clients dans la table des commandes sans répétitions

Table: orders

[Link] une instruction SQL pour afficher les noms et la ville des vendeurs, qui appartiennent à la ville de
Paris

Table: vendeur

10.Rédigez une instruction SQL pour afficher toutes les informations concernant les clients ayant une note
de 200

Table: client

11. Écrivez une requête SQL pour afficher le numéro de commande suivi de la date de commande et le
montant d'achat pour chaque commande qui sera livrée par le vendeur qui tient
l'ID 5001.

Table : commandes

12. Écrivez une requête SQL pour afficher les prix Nobel de 1970.

Table: prix_nobel

13. Écrivez une requête SQL pour connaître le gagnant du prix de littérature de 1971.

Tableau : nobel_win

14. Écrivez une requête SQL pour afficher l'année et le sujet qui ont valu à 'Dennis Gabor' son prix.

Table: nobel_win

[Link] une requête SQL pour donner le nom des lauréats de la 'Physique' depuis l'année 1950.

Table: nobel_win

18
16. Écrivez une requête SQL pour afficher tous les détails (année, sujet, gagnant, pays) de
Lauréats du prix de chimie entre les années 1965 et 1975 inclus.

Table: nobel_win

17.Rédigez une requête SQL pour afficher tous les détails des vainqueurs du Premier ministre après 1972.
Menahem Begin et Yitzhak Rabin.

Table : nobel_win

[Link] une requête SQL pour afficher tous les détails des gagnants avec le prénom Louis.

Table: nobel_win

19. Écrivez une requête SQL pour montrer tous les gagnants en physique de 1970 avec le gagnant.
de l'économie pour 1971.

Table: nobel_win

20. Écrivez une requête SQL pour montrer tous les lauréats du prix Nobel de l'année 1970, sauf les
sujet Physiologie et Économie.

Table: nobel_win

21. Écrivez une requête SQL pour afficher les gagnants d'un prix de 'Physiologie' dans une année antérieure.
1971 avec les lauréats d'un prix 'Paix' dans une année ultérieure à partir de 1974.

Table: nobel_win

22. Écrivez une requête SQL pour trouver tous les détails du prix remporté par Johannes Georg Bednorz.

Table: nobel_win

23. Écrivez une requête SQL pour trouver tous les détails des lauréats du prix Nobel pour le sujet non commencé.
with the letter 'P' and arranged the list as the most recent comes first, then by name in
commande.

Table: nobel_win

24. Écrivez une requête SQL pour trouver tous les détails des gagnants de 1970 classés par sujet et
winner name; but the list contain the subject Economics and Chemistry at last.

Table: nobel_win

25. Écrivez une requête SQL pour trouver tous les produits dont le prix est compris entre 200 Rs et 600 Rs.

Table: item_mast
19
26. Écrivez une requête SQL pour calculer le prix moyen de tous les produits du fabricant.
quel code est l6.

Table: item_mast

27. Écrivez une requête SQL pour trouver le nom de l'article et le prix en Rs.

Table : item_mast

28. Écrivez une requête SQL pour afficher le nom et le prix de tous les articles dont le prix est égal ou
plus de 250 Rs, et la liste contient le prix le plus élevé en premier puis par nom par ordre croissant
commande.

Table : item_mast

29. Écrivez une requête SQL pour afficher le prix moyen des articles pour chaque entreprise.
montrant seulement le code de l'entreprise.

Table: item_mast

30.Rédigez une requête SQL pour trouver le nom et le prix de l'article le moins cher.

Table: item_mast

31.Rédigez une requête en SQL pour trouver le nom de famille de tous les employés, sans doublons.

Table: détails_employés

32.Rédigez une requête en SQL pour trouver les données des employés dont le nom de famille est 'Snares'.

Table: détails_emp

33. Écrivez une requête en SQL pour afficher toutes les données des employés qui travaillent dans le département
57.

Table: détails_emp

Opérateurs booléens et relationnels [12 exercices]

1. Écrivez une requête pour afficher tous les clients avec un grade supérieur à 100.

Table: client

Écrivez une requête pour afficher tous les clients à New York qui ont une valeur de grade.
au-dessus de 100.

Table : client
20
3. Écrivez une requête SQL pour afficher tous les clients qui appartiennent à la ville de New
York ou avait une note supérieure à 100

Table : client

4. Écrivez une instruction SQL pour afficher tous les clients qui appartiennent soit à la ville
New York ou non avait une note supérieure à 100.

Table : client

5. Écrivez une requête SQL pour afficher les clients qui n'appartiennent ni à la ville de New
La valeur de York ou de la note n'est supérieure à 100.

Table: client

6. Écrivez une déclaration SQL pour afficher soit les commandes qui ne sont pas émises à la date de 2012-
09-10 et émis par le vendeur dont l'ID est 505 et ci-dessous ou ces commandes qui
le montant d'achat est de 1000,00 et moins.

Table: orders

7. Écrivez une déclaration SQL pour afficher salesman_id, nom, ville et commission de ceux qui obtiennent le
commission dans la plage de plus de 0,10 % et moins de 0,12 %.

Table: salesman

8. Écrivez une requête SQL pour afficher toutes les commandes où le montant d'achat est inférieur à un montant spécifié
le montant ou la date de commande et l'identifiant du client ne doivent pas être supérieurs à une donnée spécifiée et moins

qu'un ID spécifié respectivement.

Table: commandes

[Link] tout à l'envers, où les dates de commande sont égales à une date spécifiée ou l'identifiant du client est supérieur.

qu'un nombre spécifié et un montant d'achat inférieur à un montant spécifié.

Table : commandes

10. Écrivez une requête SQL pour afficher le numéro de commande, le montant d'achat, archivé, le
pourcentage non réalisé pour les commandes qui dépassent 50 % de la valeur cible de
6000.

Table : commandes

11. Écrivez une requête en SQL pour trouver les données des employés dont le nom de famille est Dosni ou
Mardi.

Table: emp_details
21
12. Écrire une requête en SQL pour afficher toutes les données des employés qui travaillent dans le département 47 ou

département 63.

Table: détails_emp

Opérateurs génériques et spéciaux [22 Exercices]


1.Rédigez une requête SQL pour trouver ces vendeurs avec toutes les informations qui viennent de la
ville soit Paris soit Rome.

table: vendeur

2. Écrivez une requête pour filtrer ces vendeurs avec toutes les informations qui viennent de l'un des
villes Paris et Rome.

Table: vendeur

3. Écrivez une requête pour filtrer ces vendeurs avec toutes les informations qui aiment quitter d'autres villes.
que Paris et Rome.

Table: vendeur

4.Rédigez une requête pour trier ces clients avec toutes les informations dont la valeur ID est comprise dans
n'importe lequel de 3007, 3008 et 3009.

Table: client

5.Rédigez une instruction SQL pour trouver tous les vendeurs avec toutes les informations qui obtiennent le

commission dans une fourchette de 0,12 à 0,14.

Table: vendeur

6. Écrivez une requête pour filtrer toutes les commandes avec toutes les informations dont la valeur du montant d'achat.

est compris entre 500 et 4000 sauf pour les commandes d'un montant d'achat de 948,50
et 1983.43.

Table: commandes

7. Écrivez une requête SQL pour trouver ces vendeurs avec toutes les autres informations et le nom.
commencé par n'importe quelle lettre 'A' et 'L'.

Tableau : vendeur

8. Écrivez une instruction SQL pour trouver ces vendeurs avec toutes les autres informations et le nom
commencé par autre chose que n'importe quelle lettre entre 'A' et 'L'.

table : vendeur

22
9. Écrivez une requête SQL pour trouver ce client avec toutes les informations dont le nom commence par
la lettre 'P'.

Table: client

10. Écrivez une instruction SQL pour trouver tous les clients avec toutes les informations dont les noms
se terminent par la lettre 'n'.

Table: client

11. Écrivez une requête SQL pour trouver ces vendeurs avec toutes les informations dont le nom
contient le 1er caractère est 'N' et le 4ème caractère est 'l' et les autres peuvent être n'importe quoi
personnage.

Table: vendeur

12. Écrivez une requête SQL pour trouver les lignes de la table testtable qui contiennent le
sauter le caractère de soulignement ( _ ) dans sa colonne 'col1'.

Table: testtable

13. Écrivez une instruction SQL pour trouver les lignes de la table testtable qui ne le font pas
contient le caractère soulignement ( _ ) dans sa colonne 'col1'.

Table: testtable

14. Écrivez une instruction SQL pour trouver les lignes de la table testtable qui contiennent le
caractère d'échappement ( / ) dans sa colonne 'col1'.

Table: testtable

15. Écrivez une instruction SQL pour trouver les lignes de la table testtable qui ne pas
contient le caractère d'échappement ( / ) dans sa colonne 'col1'.

Table : testtable

16. Écrivez une instruction SQL pour trouver les lignes de la table testtable qui contiennent le
chaîne (_/ ) dans sa colonne 'col1'.

Table: testtable

17. Écrivez une instruction SQL pour trouver les lignes de la table testtable qui ne
contient la chaîne ( _/ ) dans sa colonne 'col1'.

Table: testtable

23
18. Écrivez une instruction SQL pour trouver les lignes de la table testtable qui contiennent le
caractère ( % ) dans sa colonne 'col1'.

Table : testtable

[Link] une instruction SQL pour trouver les lignes de la table testtable qui ne pas
contient le caractère ( % ) dans sa colonne 'col1'.

Table: testtable

20. Écrire une instruction SQL pour trouver ce client avec toutes les informations qui ne reçoit aucune
note sauf NULL.

Table: customer

21. Écrivez une instruction SQL pour trouver ce client avec toutes les informations qui obtient une note.
sauf la valeur NULL.

Table: client

[Link] a query in SQL to display all the data of employees whose last name begins with
un 'D'.

Tableau : emp_details

Fonctions d'agrégation [25 exercices]


1. Écrivez une instruction SQL pour trouver le montant total des achats de toutes les commandes.

Table: commandes

Écrivez une instruction SQL pour trouver le montant d'achat moyen de toutes les commandes.

Table: commandes

3. Écrivez une instruction SQL pour trouver le nombre de commerciaux actuellement en liste pour tous leurs
clients.

Table: commandes

4. Écrivez une requête SQL pour savoir combien de clients ont inscrit leurs noms.

Table: customer

5. Écrivez une instruction SQL pour trouver le nombre de clients qui obtiennent au moins une graduation pour
sa performance.
24
Table: client

6. Écrivez une instruction SQL pour obtenir le montant d'achat maximum de toutes les commandes.

Table : commandes

[Link] une requête SQL pour obtenir le montant minimum d'achat de toutes les commandes.

Table: commandes

8. Écrivez une instruction SQL qui sélectionne la note la plus élevée pour chacune des villes.
clients.

Table: customer

9. Écrivez une instruction SQL pour trouver le montant d'achat le plus élevé commandé par chacun.
client avec leur identifiant et le montant d'achat le plus élevé.

Table : commandes

10. Écrivez une instruction SQL pour trouver le montant d'achat le plus élevé commandé par chacun.
client à une date particulière avec son identifiant, la date de commande et le montant d'achat le plus élevé.

Table : commandes

11. Écrivez une instruction SQL pour trouver le montant d'achat le plus élevé à une date '2012-08-17' pour
chaque vendeur avec son ID.

Table: commandes

12. Écrivez une instruction SQL pour trouver le montant d'achat le plus élevé avec leur ID et leur commande.
date, pour uniquement ces clients dont le montant d'achat le plus élevé dans une journée est supérieur à
2000.

Table : commandes

13. Écrivez une instruction SQL pour trouver le montant d'achat le plus élevé avec leur ID et commande.
date, pour les clients qui ont un montant d'achat plus élevé dans une journée est dans la plage
2000 et 6000.

Table : commandes

[Link] une déclaration SQL pour trouver le montant d'achat le plus élevé avec leur ID et commande.
date, uniquement pour les clients qui ont un montant d'achat plus élevé dans une journée est dans le
list 2000, 3000, 5760 and 6000.

Table: commandes
25
15.Rédigez une instruction SQL pour trouver le montant d'achat le plus élevé avec son ID, uniquement pour ceux-ci.
clients dont l'identifiant est compris entre 3002 et 3007.

Table: commandes

16. Rédigez une instruction SQL pour afficher les détails du client (ID et montant d'achat) dont
Les identifiants sont dans la plage de 3002 à 3007 et le montant d'achat le plus élevé est supérieur à 1000.

Table : commandes

17. Écrivez une instruction SQL pour trouver le montant d'achat le plus élevé avec leur identifiant, uniquement pour ceux

les vendeurs dont l'ID est compris entre 5003 et 5008.

Table: commandes

18. Écrivez une instruction SQL qui compte toutes les commandes pour la date du 17 août 2012.

Table: commandes

19. Écrivez une déclaration SQL qui compte le nombre de valeurs de ville différentes non NULL pour
vendeurs.

Table: vendeur

20. Écrivez une requête qui compte le nombre de vendeurs avec leur date de commande et leur identifiant.
enregistrement des commandes pour chaque jour.

Table: commandes

21. Écrivez une requête SQL pour calculer le prix moyen de tous les produits.

Table: item_mast

22. Écrivez une requête SQL pour trouver le nombre de produits avec un prix supérieur ou égal à
Rs.350.

Table: item_mast

23. Écrivez une requête SQL pour afficher le prix moyen des produits de chaque entreprise, ainsi que
leur code.

Table: item_mast

24.Rédigez une requête en SQL pour trouver la somme du montant de l'allocation de tous les départements.

Table : emp_département

26
25.Rédigez une requête en SQL pour trouver le nombre d'employés dans chaque département ainsi que
le code du département.

Table: détails_emp

Formatage des résultats de requête SQL [10 Exercices]

1. Écrivez une instruction SQL pour afficher la commission avec le signe de pourcentage ( % ) avec
colonnes ID du vendeur, nom et ville pour tous les vendeurs.

Table : vendeur

Écrivez une déclaration SQL pour trouver le nombre de commandes réservées pour chaque jour et l'afficher.
Pour le 2001-10-10, il y a 15 commandes.

Table : commandes

Rédigez une requête pour afficher les commandes selon le numéro de commande triées par
ascending order.

Table: commandes

4. Écrivez une instruction SQL pour organiser les commandes selon la date de commande de manière à ce que
d'une manière que la date la plus récente apparaîtra en premier, puis les dates précédentes.

Table: commandes

5. Écrivez une instruction SQL pour afficher les commandes avec toutes les informations de manière à ce que,
la date de commande la plus ancienne viendra en premier et le montant d'achat le plus élevé du même jour viendra
premier.

Table: commandes

6. Écrire une instruction SQL pour afficher le nom du client, la ville et la note, etc. et le
l'affichage sera organisé en fonction du plus petit identifiant client.

Table: customer

7. Écrivez une requête SQL pour établir un rapport avec l'ID du vendeur, la date de commande et le plus élevé

montant d'achat dans un tel arrangement que le plus petit ID de vendeur viendra en premier
avec leur date de commande la plus petite.

Table: orders

27
8. Écrivez une instruction SQL pour afficher le nom du client, la ville et le grade de telle manière que,
le client ayant la note la plus élevée viendra en premier.

Table: client

9. Écrivez une instruction SQL pour faire un rapport avec l'ID du client de telle manière que, le
le plus grand nombre de commandes enregistrées par le client viendra en premier avec leur plus élevé
purchase amount.

Table: commandes

10. Écrivez une déclaration SQL pour établir un rapport avec la date de commande de telle manière que,
la date de dernière commande apparaîtra en premier avec le montant total d'achat et la commission totale
(15% pour tous les vendeurs) pour cette date.

Table: orders

Interrogation SQL sur plusieurs tables [7 exercices]


1. Écrivez une requête pour trouver ces clients avec leur nom et ces vendeurs avec leur
name and city who lives in the same city.

Vendeur

Table: client

2. Écrivez une requête SQL pour trouver les noms de tous les clients ainsi que les vendeurs qui
fonctionne pour eux.

Table : client, vendeur

3. Écrire une instruction SQL pour afficher toutes les commandes des clients qui ne sont pas situés dans le
les mêmes villes où vivent leurs vendeurs.

Table: salesman, customer, orders

4. Écrivez une instruction SQL qui trouve chaque numéro de commande suivi du nom du
clients qui ont passé la commande.

Table : commandes, client

5. Écrivez une requête SQL qui trie le client et son niveau qui a passé une commande.
Each of the customers must have a grade and served by at least a salesman, who belongs
à une ville.

Table: salesman, customer, orders

28
6. Écrivez une requête qui produit tous les clients avec leur nom, ville, vendeur et
commission, qui a été servi par un vendeur et le vendeur travaille à un taux de
commission entre 12 % et 14 %.

Table: salesman, customer

7.Rédigez une déclaration SQL qui produit toutes les commandes avec le numéro de commande, le nom du client,
taux de commission et montant de la commission gagnée pour ces clients qui portent leur
note supérieure à 200 et desservie par un vendeur existant.

Table: salesman, customer, orders

FILTRAGE et TRI sur la base de données RH [38 Exercices]


1. Écrire une requête en SQL pour afficher le nom complet (prénom et nom de famille) et le salaire pour ceux qui
employés qui gagnent moins de 6000.

Table: employés

2.Rédigez une requête en SQL pour afficher le prénom et le nom de famille, le numéro de département et le salaire

pour les employés qui gagnent plus de 8000.

Tableau : employés

3. Écrivez une requête en SQL pour afficher le prénom et le nom de famille, ainsi que le numéro de département pour tous

employés dont le nom de famille est « McEwen ».

Table: employés

4. Écrivez une requête en SQL pour afficher toutes les informations de tous les employés sans aucune.
numéro de département.

Table: employees

[Link] une requête en SQL pour afficher toutes les informations sur le département Marketing.

Table : départements

6. Écrivez une requête en SQL pour afficher le nom complet (prénom et nom de famille), la date d'embauche, le salaire, et

numéro de département pour les employés dont le prénom ne contient pas la lettre M
et faites en sorte que l'ensemble des résultats soit dans l'ordre croissant par numéro de département.

Table: employees

7. Écrivez une requête en SQL pour afficher toutes les informations des employés dont le salaire est dans le
plage de 8000 à 12000 et la commission n'est pas nulle ou le numéro de département est sauf le
numéro 40, 120 et 70 et ils ont été embauchés avant le 5 juin 1987.
29
Table: employés

8. Écrivez une requête en SQL pour afficher le nom complet (prénom et nom de famille), et le salaire pour tous
des employés qui ne perçoivent aucune commission.

Table: employees

9.Rédigez une requête en SQL pour afficher le nom complet (prénom et nom), le numéro de téléphone et
email séparé par tiret, et salaire, pour ces employés dont le salaire se situe dans
range of 9000 and 17000. The column headings assign with Full_Name, Contact_Details
et Rémunération respectivement.

Table: employés

10. Écrire une requête en SQL pour afficher le prénom, le nom de famille et le salaire de ces employés.
dont le prénom se termine par la lettre m.

Table: employés

[Link] a query in SQL to display the full name (first and last) name, and salary, for all
employés dont le salaire est en dehors de la fourchette de 7000 à 15000 et faire le jeu de résultats dans
ordre croissant par le nom complet.

Table: employés

12.Rédigez une requête en SQL pour afficher le nom complet (prénom et nom de famille), l'identifiant du poste et la date d'embauche pour

les employés qui ont été embauchés entre le 5 novembre 2007 et le 5 juillet 2009.

Table: employés

13. Écrivez une requête en SQL pour afficher le nom complet (prénom et nom de famille) et le département
nombre pour ces employés qui travaillent soit dans le département 70 soit dans le département 90.

Tableau : employés

14. Écrivez une requête en SQL pour afficher le nom complet (prénom et nom de famille), le salaire et le manager
nombre d'employés qui travaillent sous un responsable.

Table : employés

15. Écrivez une requête en SQL pour afficher toutes les informations de la table Employés pour ceux
les employés embauchés avant le 21 juin 2002.

Table: employés

Écrivez une requête en SQL pour afficher le prénom et le nom, l'e-mail, le salaire et l'ID du manager.
pour les employés dont les gestionnaires ont l'ID 120, 103 ou 145.
30
Table: employés

17. Écrivez une requête en SQL pour afficher toutes les informations de tous les employés qui ont le
lettres D, S ou N dans leur prénom et également trier le résultat par ordre décroissant par
salaire.

Table: employés

18. Écrivez une requête en SQL pour afficher le nom complet (prénom et nom de famille), la date d'embauche,
pourcentage de commission, email et téléphone séparés par '-', et salaire pour ceux-ci
les employés qui gagnent un salaire supérieur à 11000 ou dont le septième chiffre de leur numéro de téléphone
égale 3 et fait en sorte que le jeu de résultats soit dans un ordre décroissant par le prénom.

Table: employés

19. Écrivez une requête en SQL pour afficher le prénom et le nom, ainsi que le numéro de département pour
ces employés qui ont une lettre s comme 3ème caractère dans leur prénom.

Table : employees

20. Écrivez une requête en SQL pour afficher l'identifiant de l'employé, le prénom, l'identifiant de poste et le département.

nombre pour ces employés qui travaillent sauf dans les départements 50, 30 et 80.

Table : employees

21. Écrivez une requête en SQL pour afficher l'ID de l'employé, le prénom, l'ID du poste et le département
numéro pour les employés dont le numéro de département est égal à 30, 40 ou 90.

Table : employees

22.Rédigez une requête en SQL pour afficher l'ID des employés qui ont effectué deux emplois ou plus.
le passé.

Table : job_history

23. Écrivez une requête en SQL pour afficher l'ID de poste, le nombre d'employés, la somme des salaires, et
différence entre le salaire le plus élevé et le salaire le plus bas pour un emploi.

Table : employees

24. Écrivez une requête en SQL pour afficher l'ID de job pour les emplois effectués par deux personnes ou plus.
plus de 300 jours.

Table : historique_des_jobs

25. Écrivez une requête en SQL pour afficher l'identifiant du pays et le nombre de villes dans ce pays.
avoir.
31
Table : loations

26. Écrivez une requête en SQL pour afficher l'identifiant du responsable et le nombre d'employés gérés par.
le responsable.

Table : employees

27. Écrivez une requête en SQL pour afficher les détails des emplois dans un ordre décroissant par titre de poste.

Table : jobs

28.Écrivez une requête en SQL pour afficher le prénom et le nom de famille ainsi que la date d'embauche de la
les employés qui sont soit Représentant Commercial soit Vendeur.

Table : employees

29.Rédigez une requête en SQL pour afficher le salaire moyen des employés pour chaque département
qui reçoit un pourcentage de commission.

Table : employees

30. Écrivez une requête en SQL pour afficher les départements où un manager gère 4.
ou plus d'employés.

Table : employees

31. Écrivez une requête en SQL pour afficher les départements où il y a plus de dix employés
travail qui a obtenu un pourcentage de commission.

Table : employees

32. Écrivez une requête en SQL pour afficher l'identifiant de l'employé et la date à laquelle il a terminé son emploi.

emploi précédent.

Table : job_history

33.Rédigez une requête en SQL pour afficher les détails des employés qui n'ont pas de commission
pourcentage et salaire dans la plage de 7000 à 12000 et travaille dans ce département qui
le nombre est 50.

Table : employees

34. Écrivez une requête en SQL pour afficher l'identifiant du poste pour les emplois dont le salaire moyen est supérieur à

8000.

Table : employees

32
[Link] une requête en SQL pour afficher le titre du poste, la différence entre le minimum et
salaires maximaux pour ces emplois dont le salaire maximum se situe entre 12000 et 18000.

Table : jobs

36. Rédigez une requête en SQL pour afficher tous les employés dont le prénom ou le nom de famille
commence par la lettre D.

Table : employees

37. Écrivez une requête en SQL pour afficher les détails des emplois dont le salaire minimum est supérieur
que 9000.

Table : jobs

38. Écrivez une requête en SQL pour afficher les employés qui ont rejoint après le 7 septembre.
1987.

Table : employees

SQL JOINS [29 Exercices]


1. Écrivez une requête SQL pour préparer une liste avec le nom du vendeur, le nom du client et leur
cities for the salesmen and customer who belongs to the same city.

Table: salesman, customer

2. Écrivez une instruction SQL pour établir une liste avec le numéro de commande, le montant d'achat, le nom du client

et leurs villes pour les commandes dont le montant est compris entre 500 et 2000.

Table: orders, customer

3. Écrivez une instruction SQL pour savoir quels vendeurs travaillent pour quels clients.

Table: customer, salesman

4. Écrire une requête SQL pour trouver la liste des clients qui ont désigné un vendeur pour leur
les emplois qui reçoivent une commission de l'entreprise est supérieure à 12 %.

Table: customer, salesman


5. Écrivez une déclaration SQL pour trouver la liste des clients qui ont nommé un vendeur pour leur
des emplois où l'on ne vit pas dans la même ville que son client, et qui touchent une commission
est supérieur à 12 %.

Table: customer, salesman

33
6. Écrivez une requête SQL pour trouver les détails d'une commande, c'est-à-dire le numéro de commande, la date de commande.

amount of order, which customer gives the order and which salesman works for that
client et combien de commission il reçoit pour une commande.

Table: orders, customer, salesman

7. Écrivez une instruction SQL pour effectuer une jointure sur les tables vendeur, client et commandes.
de telle manière que la même colonne de chaque table n'apparaisse qu'une fois et uniquement la relation
les rangées viendront.

Table: orders, customer, salesman

[Link] une instruction SQL pour établir une liste par ordre croissant des clients qui travaillent
soit par un vendeur, soit par soi-même.

Table: customer, salesman

9. Écrivez une instruction SQL pour établir une liste par ordre croissant des clients qui détiennent un
note inférieure à 300 et travaille soit par l'intermédiaire d'un vendeur, soit par ses propres moyens.

Table: customer, salesman

[Link] une requête SQL pour faire un rapport avec le nom du client, la ville, le numéro de commande, la commande
date, et le montant de la commande par ordre croissant selon la date de commande pour trouver que soit
aucun des clients existants n'a passé de commande ou a passé une ou plusieurs commandes.

Table: orders, customer

11. Rédigez une déclaration SQL pour créer un rapport avec le nom du client, la ville, le numéro de commande, la commande

date, montant de la commande, nom du vendeur et commission pour trouver que soit l'un des existants
les clients n'ont passé aucune commande ou ont passé une ou plusieurs commandes par leur vendeur ou par
sien.

{"customer":"client","orders":"commandes","salesman":"vendeur"}

12. Écrire une requête SQL pour établir une liste par ordre croissant des vendeurs qui travaillent
soit pour un ou plusieurs clients ou pas encore sous l'un des clients.

Table: customer, salesman

13. Écrivez une instruction SQL pour établir une liste des vendeurs qui travaillent soit pour un soit pour un
plus de clients ou pas encore adhéré à aucun des clients qui ont passé une ou plusieurs commandes
commandes ou pas de commande à leur fournisseur.

Table: customer, salesman, orders

34
14. Écrivez une instruction SQL pour établir une liste des vendeurs qui travaillent pour un ou plusieurs
clients ou encore à rejoindre l'un des clients. Le client a peut-être passé, soit une ou
plus de commandes égales ou supérieures à un montant de commande de 2000 et doit avoir une note, ou il peut ne pas en avoir

passé une commande auprès du fournisseur associé.

Table: customer, salesman, orders

15. Rédigez une instruction SQL pour réaliser un rapport avec le nom du client, la ville, le numéro de commande.
date, montant d'achat pour ces clients de la liste existante qui ont passé une ou plusieurs commandes
commandes ou quelle(s) commande(s) ont été passées par le client qui n'est pas sur la liste.

Table: customer, orders

16. Écrivez une déclaration SQL pour faire un rapport avec le nom du client, la ville, le numéro de commande.
date, montant d'achat uniquement pour les clients de la liste qui doivent avoir une note et
a passé une ou plusieurs commandes ou quelle(s) commande(s) ont été passées par le client qui est
ni dans la liste ni avoir une note.

Table: customer, orders

17.Rédigez une instruction SQL pour réaliser un produit cartésien entre vendeur et client
c'est-à-dire que chaque vendeur apparaîtra pour tous les clients et vice versa.

Table: salesman, customer

18. Écrire une requête SQL pour faire un produit cartésien entre vendeur et client.
c'est-à-dire que chaque vendeur apparaîtra pour tous les clients et vice versa pour ce client qui
appartient à une ville.

Table: salesman, customer

Rédigez une instruction SQL pour effectuer un produit cartésien entre vendeur et client.
c'est-à-dire que chaque vendeur apparaîtra pour tous les clients et vice versa pour ces vendeurs qui
appartient à une ville et aux clients qui doivent avoir une note.

Table: salesman, customer

20. Écrivez une instruction SQL pour réaliser un produit cartésien entre vendeur et client.
c'est-à-dire que chaque vendeur apparaîtra pour tous les clients et vice versa pour ces vendeurs qui
doit appartenir à une ville qui n'est pas la même que celle de son client et les clients doivent avoir
un propre niveau.

Table: salesman, customer

21. Écrivez une requête SQL pour afficher toutes les données de l'item_mast, y compris toutes les données pour
la société productrice de chaque article.
35
Table: company_mast, item_mast

22. Écrivez une requête SQL pour afficher le nom de l'article, le prix et le nom de la société de tous les

produits.

Table: societe_mast, article_mast

23. Écrivez une requête SQL pour afficher le prix moyen des articles de chaque entreprise, en montrant le
nom de l'entreprise.

Table: company_mast, item_mast

24. Écrivez une requête SQL pour afficher les noms des entreprises dont les produits ont un
prix moyen supérieur ou égal à Rs. 350.

Table : company_mast, item_mast

25. Écrivez une requête SQL pour afficher le nom de chaque entreprise avec l'ID et le prix.
pour leur produit le plus cher.

Table : company_mast, item_mast

26. Écrivez une requête en SQL pour afficher toutes les données des employés, y compris leur département.

Table: emp_department, emp_details

27. Écrivez une requête en SQL pour afficher le prénom et le nom de famille de chaque employé, ainsi que
avec le nom et le montant de la sanction pour leur département.

Table : emp_département, emp_détails

28. Écrivez une requête en SQL pour trouver le prénom et le nom de famille des employés travaillant pour
départements avec un budget supérieur à 50 000 Rs.

Table : emp_department, emp_details

29. Écrivez une requête en SQL pour trouver les noms des départements où plus de deux
les employés travaillent.

Table: emp_department, emp_details

JOINS SQL sur la base de données RH [27 exercices]

1. Écrivez une requête en SQL pour afficher le prénom, le nom de famille, le numéro du département, et
nom du département pour chaque employé.

36
Table: departments, employees

2.Rédigez une requête en SQL pour afficher le prénom et le nom de famille, le département, la ville et l'état
province pour chaque employé.

Table: departments, employees, locations

3.Rédigez une requête en SQL pour afficher le prénom, le nom, le salaire et le grade du poste pour tous
employés.

Table : employés, grades_de_travail

4. Écrivez une requête en SQL pour afficher le prénom, le nom de famille, le numéro de département et
department name, for all employees for departments 80 or 40.

Table: departments, employees

5. Écrivez une requête en SQL pour afficher les employés qui contiennent la lettre z dans leur prénom.
nom et afficher également leur prénom, département, ville et province de l'état.

Table: departments, employees, locations

6. Écrivez une requête en SQL pour afficher tous les départements, y compris ceux qui n'en ont pas.
tout employé.

Table: departments, employees

[Link] a query in SQL to display the first and last name and salary for those employees
qui gagne moins que l'employé dont le numéro est 182.

Tableau : employés

8. Écrivez une requête en SQL pour afficher le prénom de tous les employés, y compris le prénom.
de leur manager.

Table: employés

9. Écrivez une requête en SQL pour afficher le nom du département, la ville et la province de l'État pour chacun.
département.

Table: departments, locations

10. Écrivez une requête en SQL pour afficher le prénom, le nom de famille, le numéro de département et
nom, pour tous les employés qui ont ou n'ont pas de département.

Table: departments, employees

37
11. Écrivez une requête en SQL pour afficher le prénom de tous les employés et le prénom de
leur manager, y compris ceux qui ne travaillent sous aucun manager.

Table: employees

12.Rédigez une requête en SQL pour afficher le prénom, le nom de famille et le numéro de département pour
ces employés qui travaillent dans le même département que l'employé qui occupe le dernier
nom sous le nom de Taylor.

Table: employees

13. Écrivez une requête en SQL pour afficher le titre du poste, le nom du département, le nom complet (prénom et nom de famille)

nom ) de l'employé, et date de début pour tous les emplois qui ont commencé le 1er janvier ou après,
1993 et se terminant le ou avant le 31 août 1997.

Table: job_history, employees, jobs

14. Écrivez une requête en SQL pour afficher le titre du poste, le nom complet (prénom et nom de famille) de l'employé.

et la différence entre le salaire maximum pour le poste et le salaire de l'employé.

Table: employees, jobs

15. Écrivez une requête en SQL pour afficher le nom du département, le salaire moyen et
nombre d'employés travaillant dans ce département qui ont reçu une commission.

Table: employees, departments

[Link] une requête en SQL pour afficher le nom complet (prénom et nom de famille) de l'employé, et
titre du poste des employés travaillant dans le département dont l'ID est 80.

Table: employees, jobs

17. Écrivez une requête en SQL pour afficher le nom du pays, la ville et les départements
qui y courent.

Table: pays, emplacements

18. Écrivez une requête en SQL pour afficher le nom du département et le nom complet (prénom et nom de famille).

nom) du responsable.

Table: departments, employees

19.Rédigez une requête en SQL pour afficher le titre du poste et le salaire moyen des employés.

Table: employees, jobs

38
20. Écrivez une requête en SQL pour afficher les détails des emplois qui ont été effectués par n'importe quel
les employés qui perçoivent actuellement un salaire égal ou supérieur à 12000.

Table: employees, job_history

21. Écrivez une requête en SQL pour afficher le nom du pays, la ville et le nombre de ceux-ci
départements où au moins 2 employés travaillent.

Table: countries, locations, employees, departments

22.Rédigez une requête en SQL pour afficher le nom du département, le nom complet (prénom et nom de famille) de
gestionnaire, et leur ville.

Table: employees, departments

23.Rédigez une requête en SQL pour afficher l'identifiant de l'employé, le nom du poste, le nombre de jours travaillés dans

pour tous ces emplois dans le département 80.

Tableau : emplois, historique des emplois

24. Écrivez une requête en SQL pour afficher le nom complet (prénom et nom de famille) et le salaire de ceux qui
employés qui travaillent dans n'importe quel département situé à Londres.

Table: departments, locations, employees

25. Écrivez une requête en SQL pour afficher le nom complet (prénom et nom de famille), le titre du poste, le début et

date de fin des derniers emplois pour ces employés ayant travaillé sans commission
pourcentage.

Table : emplois, historique_des_emplois, employés

26.Rédigez une requête en SQL pour afficher le nom du département et le nombre d'employés.
chacun des départements.

Table: departments, employees

27. Écrivez une requête en SQL pour afficher le nom complet (prénom et nom de famille) de l'employé avec l'ID
et le nom du pays où (il/elle) travaille actuellement.

Tableau : pays, lieux, employés, départements

SOUS-REQUÊTES SQL [39 Exercices]


1. Écrivez une requête pour afficher toutes les commandes de la table des commandes émises par le vendeur.
Paul Adam

Table: Salesman, Orders

39
Écrivez une requête pour afficher toutes les commandes pour le commercial qui appartient à la ville de Londres.

Table: Salesman, Orders

3. Écrivez une requête pour trouver toutes les commandes émises contre le vendeur qui travaille pour le client.
dont l'identifiant est 3007.

Table: Salesman, Orders

4. Écrivez une requête pour afficher toutes les commandes dont les valeurs sont supérieures à la moyenne des commandes.

valeur du 10 octobre 2012.

Table: Salesman, Orders

5. Écrivez une requête pour trouver toutes les commandes attribuées à un vendeur à New York.

Table: Salesman, Orders


6. Écrivez une requête pour afficher la commission de tous les vendeurs servant des clients dans
Paris.

Table: Salesman, Orders

7.Rédigez une requête pour afficher tous les clients dont l'identifiant est 2001 en dessous de l'identifiant du vendeur.

Mc Lyon.

Table: Salesman, Orders

8. Écrivez une requête pour compter les clients ayant des notes supérieures à la moyenne de New York.

Table: Salesman, Customer, Orders

9. Écrivez une requête pour afficher tous les clients ayant des commandes le 5 octobre 2012.

Table: Commandes

10. Écrivez une requête pour afficher tous les clients avec des commandes émises le 17 août.
2012.

Table: Orders, Customer

11. Écrivez une requête pour trouver le nom et les numéros de tous les vendeurs qui ont eu plus d'un
client

Table: Customer, Salesman

12. Écrivez une requête pour trouver toutes les commandes dont les montants dépassent la moyenne.
pour leurs clients.
40
Table: Orders, Customer

13. Écrivez une requête pour trouver toutes les commandes dont les montants sont égaux ou supérieurs à la moyenne.

montants pour leurs clients.

Table: Orders, Customer

14. Écrivez une requête pour trouver les sommes des montants de la table des commandes, groupées par date.
éliminant toutes les dates où la somme n'était pas d'au moins 1000,00 au-dessus du maximum
montant de la commande pour cette date.

Table: Orders, Customer

15. Écrivez une requête pour extraire les données de la table client uniquement si un ou plusieurs d'entre eux
les clients de la table clients sont situés à Londres.

Table: Client

16.Rédigez une requête pour trouver les vendeurs qui ont plusieurs clients.

Table : Client

17.Rédigez une requête pour trouver tous les vendeurs qui ont travaillé pour un seul client.

Table: Customer, Salesman

18.Rédigez une requête qui extrait les lignes de tous les commerciaux ayant des clients avec plus de
une commande.

Table: Salesman, Orders, Customer

19. Écrivez une requête pour trouver des vendeurs avec toutes les informations qui vivent dans la ville où l'un quelconque de

la vie des clients.

Table : Vendeur, client

20.Rédigez une requête pour trouver tous les vendeurs pour lesquels il y a des clients qui les suivent.

Table: Salesman, customer

21. Écrivez une requête pour afficher les vendeurs dont le nom est alphabétiquement inférieur à
nom des clients.

Table: Salesman, Customer

22. Écrivez une requête pour afficher les clients qui ont une graduation supérieure à n'importe quelle autre.

client qui appartient à une ville alphabétiquement inférieure à New York.


41
Table: Salesman, Customer

23. Écrivez une requête pour afficher toutes les commandes dont les montants étaient supérieurs à au moins
une des commandes du 9 octobre 2012.

Table: Orders

24. Écrivez une requête pour trouver toutes les commandes avec un montant inférieur à tout montant pour un client
à Londres.

Table: Salesman, Customer

25.Rédigez une requête pour afficher toutes les commandes dont le montant est inférieur à tout montant pour un

client à Londres.

Table: Salesman, Customer

[Link] une requête pour afficher uniquement les clients dont le grade est en fait supérieur à
chaque client à New York.

Table: Salesman, Customer

27. Écrivez une requête pour trouver uniquement les clients dont le grade est supérieur à tous.
client à la ville de New York.

Table: Salesman, Customer

28. Écrivez une requête pour obtenir toutes les informations sur les clients dont le grade n'est pas comme le
grade de client qui appartient à la ville de Londres.

Table: Salesman, Customer

29. Écrivez une requête pour trouver tous les clients dont la note n'est pas la même que la note à laquelle ils appartiennent.

la ville de Paris.

Table: Salesman, Customer

30. Écrivez une requête pour trouver tous les clients qui ont un grade différent de celui de tout autre client.
de la ville de Dallas.

Table: Salesman, Customer

31. Écrivez une requête SQL pour trouver le prix moyen des produits de chaque fabricant ainsi que
leur nom.

Table : company_mast, item_mast

42
32. Écrivez une requête SQL pour afficher le prix moyen des produits qui est supérieur à ou
égal à 350 avec leurs noms.

Table: entreprise_mast, article_mast

33. Écrivez une requête SQL pour afficher le nom de chaque entreprise, le prix de leur plus
produit coûteux avec leur identifiant.

Table : société_mast, article_mast

34. Écrivez une requête en SQL pour trouver tous les détails des employés dont le nom de famille est Gabriel ou
Dosio.

Table: emp_department, emp_details

35. Écrivez une requête en SQL pour afficher tous les détails des employés qui travaillent dans le département.
89 ou 63.

Table: emp_service, emp_détails

36. Écrivez une requête en SQL pour afficher le prénom et le nom de famille des employés travaillant pour
le département dont le montant d'attribution est supérieur à 50 000 Rs.

Table: emp_department, emp_details

37. Écrivez une requête en SQL pour trouver les départements dont le montant d'autorisation est supérieur à
montant moyen des sanctions de tous les départements.

Table: emp_department, emp_details

38. Écrivez une requête en SQL pour trouver les noms des départements ayant plus de deux employés
sont en train de travailler.

Table : emp_département, emp_détails

39. Écrivez une requête en SQL pour trouver le prénom et le nom de famille des employés travaillant pour
départements dont le montant de la sanction est le deuxième plus bas.

Table: emp_department, emp_details

SOUS-REQUÊTES SQL sur la base de données RH [55 Exercices]

1. Écrivez une requête pour afficher le nom (prénom et nom de famille) des employés qui
gagne un salaire plus élevé que l'employé dont l'identifiant est 163.

Table: employés
43
[Link] a query to display the name ( first name and last name ), salary, department id, job
id pour ces employés qui travaillent dans la même désignation que l'employé travaille dont
id is 169.

Table: employés

[Link] une requête pour afficher le nom (prénom et nom de famille), le salaire, l'ID du département pour
ces employés qui gagnent un montant de salaire qui est le plus petit salaire de tous les
départements.

Table: employees

4. Écrivez une requête pour afficher l'identifiant de l'employé, le nom de l'employé (prénom et nom de famille) pour
tous les employés qui gagnent plus que le salaire moyen.

Table: employés

5. Écrivez une requête pour afficher le nom de l'employé (prénom et nom de famille), l'identifiant de l'employé
et le salaire de tous les employés qui relèvent de Payam.

Table : employés

6. Écrivez une requête pour afficher le numéro du département, le nom (prénom et nom de famille), le poste.
et le nom du département pour tous les employés du département des Finances.

Table: employees, departments

7. Écrivez une requête pour afficher toutes les informations d'un employé dont le salaire et le rapport.
l'identifiant de la personne est 3000 et 121 respectivement.

Table: employés

[Link] toutes les informations d'un employé dont l'identifiant est l'un des numéros 134, 159 et
183.

Table: employés

9. Écrivez une requête pour afficher toutes les informations des employés dont le salaire est dans la
plage de 1000 à 3000.

Table: employés

10. Écrivez une requête pour afficher toutes les informations des employés dont le salaire est dans le
plage du salaire le plus bas et 2500.

Table: employés

44
11. Écrivez une requête pour afficher toutes les informations des employés qui ne travaillent pas dans
ces départements où certains employés travaillent dont l'identifiant est compris entre 100 et 200.

Table: employees, departments

12. Écrivez une requête pour afficher toutes les informations des employés dont l'identifiant est n'importe quel identifiant.

gagner le deuxième plus haut salaire.

Table: employees

[Link] une requête pour afficher le nom de l'employé (prénom et nom de famille) ainsi que la date d'embauche.

pour tous les employés du même département que Clara. Excluez Clara.

Table: employés

[Link] une requête pour afficher le numéro de l'employé et le nom (prénom et nom de famille)
pour tous les employés qui travaillent dans un département avec un employé dont le nom contient un
T.

Table: employés

15. Écrivez une requête pour afficher le numéro d'employé, le nom (prénom et nom de famille), et
salaire pour tous les employés qui gagnent plus que le salaire moyen et qui travaillent dans un
département avec tout employé ayant un J dans son nom.

Table: employés

[Link] le nom de l'employé (prénom et nom de famille), l'identifiant de l'employé et le titre du poste pour
tous les employés dont le lieu de département est Toronto.

Table : employés, départements

17. Écrivez une requête pour afficher le numéro d'employé, le nom (prénom et nom de famille) et
titre du poste pour tous les employés dont le salaire est inférieur à celui de tous les employés
dont le titre de poste est MK_MAN.

Table: employés

18. Écrivez une requête pour afficher le numéro de l'employé, le nom (prénom et nom de famille) et
titre du poste pour tous les employés dont le salaire est inférieur à celui de tous les autres employés
dont le titre de poste est MK_MAN. Exclure le titre de poste MK_MAN.

Table: employees

45
19.Rédigez une requête pour afficher le numéro d'employé, le nom (prénom et nom de famille) et
titre de poste pour tous les employés dont le salaire est supérieur à celui de tous les employés dont le salaire est
Le titre du poste est PU_MAN. Exclure le titre du poste PU_MAN.

Table: employees

20. Écrivez une requête pour afficher le numéro de l'employé, le nom (prénom et nom de famille) et
intitulé de poste pour tous les employés dont le salaire est supérieur à la moyenne de tout salaire
département.

Table: employees

21. Écrivez une requête pour afficher le nom de l'employé (prénom et nom de famille) et
département pour tous les employés pour toute existence de ces employés dont le salaire est plus
que 3700.

Table : employés

22. Rédigez une requête pour afficher l'identifiant du département et le salaire total pour ces départements.
qui contient au moins un employé salarié.

Table: employees, departments

23.Rédigez une requête pour afficher l'identifiant de l'employé, le nom (prénom et nom de famille) et le poste.
colonne id avec un titre modifié VENDEUR pour les employés dont le titre de poste est ST_MAN
et DÉVELOPPEUR dont le titre de poste est IT_PROG.

Table : employés

24. Rédigez une requête pour afficher l'identifiant de l'employé, le nom (prénom et nom de famille), le salaire et
la colonne SalaryStatus avec un titre ÉLEVÉ et FAIBLE respectivement pour ces employés
dont le salaire est supérieur et inférieur au salaire moyen de tous les employés.

Table: employés

[Link] une requête pour afficher l'identifiant de l'employé, le nom ( prénom et nom de famille )
SalaireTiré, MoyenneComparer (salaire - le salaire moyen de tous les employés) et le
Colonne SalaryStatus avec un titre ÉLEVÉ et FAIBLE respectivement pour ces employés dont
le salaire est supérieur et inférieur au salaire moyen de tous les employés.

Table: employés

26.Rédigez une sous-requête qui renvoie un ensemble de lignes pour trouver tous les départements qui ont effectivement
un ou plusieurs employés qui leur sont assignés.

Table: employees, departments


46
27. Écrivez une requête qui identifiera tous les employés travaillant dans des départements situés dans le
Royaume-Uni.

Tableau : employés, départements, lieux, pays

28. Écrivez une requête pour identifier tous les employés qui gagnent plus que la moyenne et qui
travailler dans l'un des départements informatiques.

Table: employees, departments

29.Rédigez une requête pour déterminer qui gagne plus que M. Ozer.

Table : employés

30. Écrivez une requête pour découvrir quels employés ont un manager qui travaille pour un
département basé aux États-Unis.

Table: employés, départements, emplacements

31.Rédigez une requête qui recherche les noms de tous les employés dont le salaire est supérieur
plus de 50 % de la masse salariale totale de leur département.

Table: employés

32. Écrivez une requête pour obtenir les détails des employés qui sont des managers.

Table: employees, departments

33. Rédigez une requête pour obtenir les détails des employés qui gèrent un département.

Table: employees, departments

34.Rédigez une requête pour afficher l'identifiant de l'employé, le nom (prénom et nom de famille), le salaire.
nom du département et ville pour tous les employés qui reçoivent le même salaire que
l'employé qui est le maximum parmi les personnes rejoignant le 1er janvier 2002 et
December 31st, 2003.

Table: employees, departments, locations

35.Rédigez une requête en SQL pour afficher le code et le nom du département pour tous les départements
qui est situé dans la ville de Londres.

Table: departments, locations

Écrivez une requête en SQL pour afficher le prénom et le nom de famille, le salaire et l'identifiant du département pour

tous ces employés qui gagnent plus que le salaire moyen et organisent la liste en
ordre décroissant sur le salaire.
47
Table: employés

37.Rédigez une requête en SQL pour afficher le prénom et le nom, le salaire et l'ID du département pour
les employés qui gagnent plus que le salaire maximum d'un département dont l'ID est
40.

Table: employés

[Link] une requête en SQL pour afficher le nom et l'Id du département pour tous les départements où
ils ont localisé, que l'Id est égal à l'Id pour l'emplacement où le numéro de département 30 est
situé.

Table: départements

39. Écrivez une requête en SQL pour afficher le prénom et le nom, le salaire et l'ID du département pour
tous les employés qui travaillent dans ce département où travaille l'employé qui détient le
ID 201.

Table : employés

[Link] une requête en SQL pour afficher le prénom et le nom, le salaire et l'identifiant du département pour
ces employés dont le salaire est égal au salaire de l'employé qui travaille dans cela
département dont l'ID est 40.

Table : employés

41. Écrivez une requête en SQL pour afficher le prénom et le nom de famille, ainsi que le code du département pour tous
les employés qui travaillent dans le département Marketing.

Table: employees, departments

[Link] une requête en SQL pour afficher le prénom et le nom de famille, le salaire, et l'ID du département pour
ces employés qui gagnent plus que le salaire minimum d'un département dont l'ID est
40.

Table: employés

[Link] une requête en SQL pour afficher le nom complet, l'email et le poste de tous ceux qui
les employés qui ont été embauchés après l'employé dont l'identifiant est 165.

Table : employés

44. Écrivez une requête en SQL pour afficher le prénom et le nom, le salaire et l'ID de département pour
ces employés qui gagnent moins que le salaire minimum d'un département dont l'ID est 70.

Table : employés
48
45. Écrivez une requête en SQL pour afficher le prénom et le nom de famille, le salaire et l'identifiant du département pour

ces employés qui gagnent moins que le salaire moyen et qui travaillent également au département
où travaille l'employée Laura en tant que titulaire du prénom.

Table: employés

46. Écrivez une requête en SQL pour afficher le prénom et le nom de famille, le salaire et l'identifiant du département pour

les employés dont le département est situé dans la ville de Londres.

Table: employés

47. Écrivez une requête en SQL pour afficher la ville de l'employé dont l'ID est 134 et qui travaille
là.

Table : emplacements, départements, employés

48. Écrivez une requête en SQL pour afficher les détails de ces départements dont le salaire maximum
est de 7000 ou plus pour les employés qui ont déjà effectué un ou plusieurs emplois.

Table: departments, employees, job_history

49. Écrire une requête en SQL pour afficher les informations détaillées de ces départements qui
le salaire de départ est d'au moins 8000.

Table: departments, employees

50. Écrivez une requête SQL pour afficher le nom complet (prénom et nom de famille) du manager qui est
superviser 4 employés ou plus.

Table: employés

51. Écrire une requête en SQL pour afficher les détails du travail actuel pour les employés qui
a travaillé comme représentant commercial dans le passé.

Table: jobs, employees, job_history

52. Écrivez une requête en SQL pour afficher toutes les informations sur les employés qui gagnent
deuxième salaire le plus bas de tous les employés.

Table: employés

53. Écrivez une requête en SQL pour afficher les détails des départements gérés par Susan.

Table: departments, employees

[Link] a query in SQL to display the department ID, full name (first and last name),
salaire pour les employés qui ont le salaire le plus élevé dans un département.
49
Table: employés

55. Écrivez une requête en SQL pour afficher toutes les informations de ces employés qui n'ont pas
avoir un emploi dans le passé.

Table: employees, job_history

Union SQL[9 Exercices]


1.Rédigez une requête pour afficher tous les vendeurs et clients situés à Londres.

Table: Salesman, Customer


2. Écrivez une requête pour afficher les vendeurs distincts et leurs villes.

Table: Salesman, Customer

[Link] une requête pour afficher tous les vendeurs et clients impliqués dans cet inventaire.
système de gestion.

Table: orders, customer

4. Écrivez une requête pour faire un rapport sur lequel vendeur produit le plus et le moins.
commandes à chaque date.

Table: Salesman, Customer, Orders

5. Écrivez une requête pour faire un rapport sur lequel vendeur produit le plus et le moins.
commandes pour chaque date et classé les numéros de commandes du plus petit au plus grand.

Table: Salesman, Customer

6. Écrivez une requête pour lister tous les vendeurs et indiquer ceux qui n'ont pas de clients.
leurs villes, ainsi que ceux qui le font.

Table: Salesman, Customer

7. Écrivez une requête qui ajoute des chaînes aux champs sélectionnés, indiquant si oui ou non un
Le vendeur spécifié a été associé à un client dans sa ville.

Table: Salesman, Customer

[Link]éez une union de deux requêtes qui affiche les noms, les villes et les évaluations de tous les clients.
Ceux ayant une note de 200 ou plus auront également les mots "Note Élevée", tandis que le
others will have the words "Low Rating".

Table: Customer

50
9. Écrivez une commande qui produit le nom et le numéro de chaque vendeur et de chaque
client avec plus d'une commande actuelle. Mettre les résultats par ordre alphabétique.

Table : Client, vendeur, commandes

Vue SQL [16 Exercices]

Écrivez une requête pour créer une vue pour les vendeurs appartenant à la ville de New York.

Table : vendeur

[Link] une requête pour créer une vue pour tous les vendeurs avec les colonnes vendeur_id, nom, et
ville.

Table : vendeur

3. Rédigez une requête pour trouver les vendeurs de la ville de New York qui ont réalisé la commission.
plus de 13 %.

Table: vendeur

4. Écrivez une requête pour créer une vue afin d'obtenir un décompte du nombre de clients que nous avons à
chaque niveau d'une note.

Table : client, client

5. Écrivez une requête pour créer une vue afin de suivre le nombre de clients qui passent commande,
number of salesmen attached, average amount of orders and the total amount of orders in
un jour.

Table : commandes

[Link] a query to create a view that shows for each order the salesman and customer by
nom.

Table: salesman, customer, orders

7. Écrivez une requête pour créer une vue qui trouve le vendeur qui a le client avec le
ordre le plus élevé d'un jour.

Table : vendeur, commandes

8. Écrivez une requête pour créer une vue qui trouve le vendeur qui a le client avec le
classement le plus élevé au moins 3 fois par jour.

51
Table: customer, salesman

9. Écrivez une requête pour créer une vue qui montre tous les clients ayant le plus haut
note.

Table: client

[Link] une requête pour créer une vue qui montre le nombre de vendeurs dans chaque ville.

Table: salesman

11. Écrivez une requête pour créer une vue qui montre la moyenne et le total des commandes pour chaque
vendeur après son nom. (Supposer que tous les noms sont uniques)

Table: salesman, orders

12. Écrivez une requête pour créer une vue qui montre chaque vendeur ayant plus d'un
clients.

Table: salesman, customer

[Link] a query to create a view that shows all matches of customers with salesman
de sorte qu'au moins un client dans la ville du client soit servi par un vendeur dans la ville de
le vendeur.

Table: salesman, customer

14. Écrivez une requête pour créer une vue qui montre le nombre de commandes par jour.

Table: commandes

15. Écrivez une requête pour créer une vue qui trouve les vendeurs qui ont passé des commandes en octobre
10 octobre 2012.

Table: salesman, orders

16. Écrivez une requête pour créer une vue qui trouve les vendeurs ayant émis des commandes soit
August 17th, 2012 or October 10th, 2012.

Table: commandes

Gestion des comptes utilisateurs SQL [16 Exercices]


[Link] créer un utilisateur sur localhost.

Syntaxe :
créer un utilisateur [nom d'utilisateur]@[<localhost>|<adresse IP>|<tout hôte('%')>]

52
identifié par ["mot de passe"];
Exemple :
créer utilisateur ramaswamy@localhost identifié par "mypasword";

'ramaswamy' est le nom d'utilisateur

'localhost' est le nom de la machine, ici la même machine


'monmotdepasse' est le mot de passe

2. Comment créer un utilisateur pour une adresse IP autre que localhost.

Syntaxe :
créer un utilisateur [nom d'utilisateur]@[<localhost>|<adresse IP>|<tout hôte('%')>]
identifié par ["mot de passe"];
Exemple :
créer un utilisateur ramaswamy@[Link] identifié par "monmotdepasse";

'ramaswamy' is the user name


'[Link]' est l'adresse IP
'monmotdepasse' est le mot de passe

[Link] accorder des permissions à un utilisateur pour sélectionner uniquement depuis localhost.

Syntaxe :
accorder [<permission_1,permission_2,...permission_n>|<tous>]
sur [base_de_données].[<nom_de_table>|<toutes_les_tables(*)>]
à [nom d'utilisateur]@[<localhost>|<adresse IP>|<tout hôte('%')]
identified by ["password"];
Exemple :
accorder le select sur posts.* à ramaswamy@localhost identifié par 'mypassword';
flush privileges;

'select' est le nom de la permission

'posts' est le nom de la base de données

'*' est utilisé pour toutes les tables de la base de données

'ramaswamy' est le nom d'utilisateur

'localhost' est le nom de la machine, ici la même machine


'monmotdepasse' est le mot de passe

[Link] accorder à un utilisateur la permission de créer, d'insérer, de mettre à jour, de supprimer et de créer temporairement

tables depuis localhost.

Syntax :
accorde [<permission_1,permission_2,...permission_n>|<toutes>]
53
sur [base_de_données].[<nom_de_table>|<toutes_les_tables(*)>]
à [nom d'utilisateur]@[<localhost>|<adresse IP>|<tout hôte('%')>]
identifié par ["mot de passe"] ;
Exemple :
accordez le select, créer, insérer, mettre à jour, supprimer, créer des tables temporaires
sur posts.* à amit@localhost identifié par 'mypassword';
Flush privileges;

'select','create','insert','update','delete','create temporary tables' are the permission name


'posts' est le nom de la base de données

'*' is used for all tables in the database


'amit' est le nom d'utilisateur

'localhost' est le nom de la machine, ici c'est la même machine

'monmotdepasse' est le mot de passe

[Link] accorder à un utilisateur la permission de créer, d'insérer, de mettre à jour, de supprimer et de créer temporairement

tables de n'importe quel hôte.

Syntaxe :
accorder [<permission_1,permission_2,...permission_n>|<tous>]
sur [base_de_données].[<nom_de_table>|<toutes_les_tables(*)>]
à [nom d'utilisateur]@[<localhost>|<adresse IP>|<tout hôte('%')>]
identifié par ["mot de passe"];
Exemple :
accorder select, créer, insérer, mettre à jour, supprimer, créer des tables temporaires sur posts.*
à amit@'%' identifié par 'mypassword';
vider les privilèges;

'select','create','insert','update','delete','create temporary tables' are the permission name


'posts' est le nom de la base de données

'*' est utilisé pour toutes les tables dans la base de données

'amit' est le nom d'utilisateur

‘%’ est utilisé pour tout hôte


'monmotdepasse' est le mot de passe

[Link] accorder à un utilisateur l'autorisation de sélectionner uniquement depuis n'importe quel hôte mais sur une table spécifique d'un

base de données.

Syntaxe :
accorder [<permission_1,permission_2,...permission_n>|<toutes>]
sur [base_de_données].[<nom_de_table>|<toutes_les_tables(*)>]
à [nom d'utilisateur]@[<localhost>|<adresse IP>|<n'importe quel hôte('%')>]
identifié par ["mot de passe"];
Exemple :

54
octroyer le select sur posts.url_master à jhon@'%' identifié par 'mypassword';
vider les privilèges;

'sélectionner' est le nom de la permission

'posts' est le nom de la base de données

'url_master' est le nom de la table dans la base de données 'posts'

'jhon' est le nom d'utilisateur

'%' is used for any host


'monmotdepasse' est le mot de passe

[Link] accorder tous les privilèges à un utilisateur depuis toutes les machines.

Syntaxe :
accorder [<permission_1,permission_2,...permission_n>|<tous>]
sur [base_de_données].[<nom_de_table>|<toutes_les_tables(*)>]
à [nom d'utilisateur]@[<localhost>|<adresse IP>|<tout hôte('%')>]
identifié par ["mot de passe"] ;
Example :
accorder tous les droits sur posts.* à joy@'%' identifié par 'mypassword';
FLUSH PRIVILEGES;

'all' est utilisé pour toutes les permissions

'posts' est le nom de la base de données

'*' est utilisé pour toutes les tables dans la base de données

'joy' est le nom d'utilisateur

'%' is used for any host


'monmotdepasse' est le mot de passe

[Link] révoquer tous les privilèges d'un utilisateur.

Syntaxe :
révoquer [<permission_1,permission_2,...permission_n>|<tous les privilèges>]
sur [base_de_données].[<nom_de_table>|<toutes_les_tables(*)>]
de [nom d'utilisateur]@[<localhost>|<adresse IP>|<tout hôte('%')>];
Exemple :
révoquer tous les privilèges sur posts.* de joy@'%';
vider les privilèges;

'tous les privilèges' est utilisé pour toutes les permissions

'posts' est le nom de la base de données

'*' est utilisé pour toutes les tables de la base de données

'joy' est le nom d'utilisateur

'%' is used for any host

55
9. Comment révoquer un privilège spécifique à un utilisateur.

Syntaxe :
révoquer [<permission_1,permission_2,...permission_n>|<tous les privilèges>]
sur [base_de_données].[<nom_de_table>|<toutes_les_tables(*)>]
de [nom d'utilisateur]@[<localhost>|<adresse IP>|<tout hôte('%')>];
Exemple :
révoquer le select sur posts.* de joy@'%';
vider les privilèges;

'select' est le nom de la permission

'posts' est le nom de la base de données

'*' est utilisé pour toutes les tables de la base de données

'joie' est le nom d'utilisateur

'%' est utilisé pour n'importe quel hôte

10. Comment vérifier les autorisations accordées à un utilisateur spécifique.

Exemple :
montrez les subventions pour amit;

[Link] to check the list of system privileges that the MySQL server supports.

Example :
afficher les privilèges;

12. Comment accorder une permission à un utilisateur afin qu'il ou elle puisse exécuter pas plus qu'un spécifique

nombre de requêtes par heure.

Exemple :
créer un utilisateur steffi@localhost identifié par 'mypassword';
accorder le select sur posts.* à steffi@localhost
identifié par 'mypassword' avec MAX_QUERIES_PER_HOUR 50;
flush privileges;
13. Comment accorder des autorisations à un utilisateur afin qu'il ne puisse pas exécuter plus qu'un spécifique
nombre de requêtes par heure.

Exemple :
définir le mot de passe pour steffi@localhost = motdepasse('mypassword123');
[Link] supprimer un utilisateur.

Exemple :
supprimer l'utilisateur steffi@'localhost';

[Link] renommer un utilisateur.

56
Exemple :
renommer l'utilisateur amit@localhost en sumit@localhost;
[Link] créer un utilisateur et ne lui accorder aucun privilège

Exemple :
accordez l'utilisation sur posts.* à boris@localhost identifié par 'mypassword';
Remarque : La commande présentée comme solution a été exécutée avec succès sur MySQL Server 5.6

57

Vous aimerez peut-être aussi