Bienvenue

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.


Serie d'exercices sur les requêtes sélection

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