Dans cette section, vous trouverez des ressources sur les cours que j'enseigne à savoir de la documentation, du code, des vidéos etc. Dès que je trouve quelque chose d'intéressant à partager, je le mettrai à disposition ici pour mes étudiants.
Travaux dirigés 6
##Auteur : Enseignant
##École : Collège Marie Victorin
##Session : Hiver 2025
##Titre du cours : Introduction aux bases de données
##Titre du programme : Travaux dirigés 6 - Les requêtes multitables
##Version : 1.0
##Date : 00/00/2025
##Langage et version : SQL
##Moteur : SQL Server Express
- Base de données : Xtreme
-- En utilisant la base de données Xtreme, créer les requêtes qui correspondent aux énoncés suivants.
-- Requête 1
-- Écrire une requête qui affiche la liste des clients non nord-américains, propriétaires et qui ont acheté l’année dernière pour moins de 50 000 eur.
-- La liste sera triée en ordre croissant par pays et en ordre décroissant du montant d’achat.
-- On affichera :
-- le nom du client
-- le poste occupé par le contact chez le client
-- les ventes de l’année dernière
-- l’adresse courriel
-- le téléphone
-- Pays
-- Votre code ici
SELECT
[Nom du client],
[Poste occupé],
[Adresse électronique],
[Téléphone],
[Pays],
[Ventes de l'année dernière]
FROM [dbo].[Clients]
WHERE (Pays LIKE '%am%rique' OR Pays LIKE 'canada') AND [Poste occupé] LIKE 'propri%' AND [Ventes de l'année dernière] < 50000
ORDER BY [Pays], [Ventes de l'année dernière] DESC
-- ---------
-- Requête 2
-- Écrire une requête qui afficher la liste des employés qui habitent en France ainsi que ceux qui habitent à London au Royaume uni.
-- On affichera :
-- le nom,
-- Le prénom
-- le poste occupé
-- la ville et le pays de résidence
-- Votre code ici
SELECT
[Nom],
[Prénom],
[Poste occupé],
[Ville],
[Pays]
FROM [dbo].[Employés] A, [dbo].[Adresses des employés] B
WHERE A.[ID employé] = B.[ID employé]
AND ((B.Pays = 'France') OR (B.Pays = 'Royaume-Uni' AND Ville = 'London'))
-- ---------
-- Requête 3
-- Écrire une requête qui affiche les produits dont les seuils d’approvisionnement sont de 50 et 100.
-- On affichera
-- le nom du produit
-- le fournisseur
-- le seuil d’approvisionnement.
-- Votre code ici
SELECT
[Nom du produit],
[Nom du fournisseur],
[Seuil de réapprovisionnement]
FROM [dbo].[Produits] A, [dbo].[Fournisseurs] B, [dbo].[Achats] C
WHERE A.[ID produit] = C.[ID produit]
AND B.[ID fournisseur] = A.[ID fournisseur]
AND C.[Seuil de réapprovisionnement] IN (50,60)
-- ---------
-- Requête 4
-- Écrire une requête qui affiche les commandes dont le montant est supérieur à 2500.
-- La liste affichera le montant des commandes les élevés en premier
-- On affichera :
-- le nom des produits commandés
-- le client qui les a commandés
-- le représentant qui l’a servi.
-- Votre code ici
SELECT
[Nom du client]
,[Nom du produit]
,[Nom]
,[Prénom]
,[Montant commande] --En guise de véfication
FROM
[dbo].[Clients] A,
[dbo].[Produits] B,
[dbo].[Détails des commandes] E,
[dbo].[Commandes] C,
[dbo].[Employés] D
WHERE
A.[ID client] = C.[ID client]
AND B.[ID produit] = E.[ID produit]
AND C.[ID commande] = E.[ID commande]
AND D.[ID employé] = C.[ID employé]
AND C.[Montant commande] > 2500
ORDER BY [Montant commande] DESC
-- Requête 5
-- Écrire une requête qui affiche le total des ventes par types de produits
-- La liste sera triée par le type le plus vendu en terme de revenus
-- On affichera :
-- le nom du type du produit
-- les ventes réalisées.
-- Votre code ici
SELECT
[Nom du type de produit],
SUM([Montant commande])
FROM
[dbo].[Types de produit] A,
[dbo].[Produits] B,
[dbo].[Commandes] C,
[dbo].[Détails des commandes] D
WHERE
A.[ID type de produit] = B.[ID type de produit]
AND C.[ID commande] = D.[ID commande]
AND B.[ID produit] = D.[ID produit]
GROUP BY
[Nom du type de produit]
ORDER BY SUM([Montant commande]) DESC
-- Requête 6
-- Écrire une requête qui affiche les 10 produits ayant été le moins vendus en terme de quantité.
-- On affichera :
-- le nom du produit
-- le nombre total d’unités vendues.
-- Votre code ici
SELECT TOP 10
[Nom du produit],
MIN([Quantité])
FROM
[dbo].[Produits] B,
[dbo].[Commandes] C,
[dbo].[Détails des commandes] D
WHERE
C.[ID commande] = D.[ID commande]
AND B.[ID produit] = D.[ID produit]
GROUP BY
[Nom du produit]
ORDER BY MIN([Quantité])
W3schools
Python.org