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.


Devoirs

Devoir 1

		## Devoir 1 
		## ********

		## Cours : Introduction aux bases de données
		## Session : Hiver 2024
		## Nom :
		## Prénom :

		## Note : /20
		## **********
			  
		# Consignes
		# =========
		# Pour bien écrire des requêtes, suivez les étapes ci-dessous :
		# Consultez la base de données active
		# Consultez la structure des tables (le nom des colonnes, le type des colonnes)
		# Consultez les valeurs des colonnes
		# Identifier visuellement les enregistrements qui satisfont aux conditions de l'énoncé
		# Interprétez bien la question posée et traduisez la en une expression conditionnelle compréhensible par SQL
		# Les notions apprises en programmation peuvent sont transférables en SQL notamment les expressions conditionnelles
		# Séparez les colonnes par des virgules (,) sauf la dernière
		# Séparez chaque requête par un point-virgule (;)
		# Incluez toujours la ou les colonnes des conditions pour vous assurer que le réultat obtenu est le résultat attendu
		# Mettez-vous à la place de celui qui pose la question afin de comprendre ce qu'il veut.
		# Apprenez à trouver vos erreurs tout seul au lieu de dire "ca marche pas" car pendant les évaluations, je ne donnerai pas les réponses.

		## Important
		## *********

		# RESPECTEZ LES SPÉCIFICATIONS DE l'ÉNONCÉ

		# Si la requête ne produit pas le résultat attendu, la question obtiendra la note 0 (critère)

		## Utiliser la base de données : Northwind
		*/
	  

		/***************************************************************************
		# Requête 1 : /2pts

		Écrire une requête qui affiche la liste des clients.
		On affichera les colonnes Country, City, CustomerName, ContactName, Address
		La liste sera triée par Country, CustomerName
		Table : Customers
		****************************************************************************/
		-- Votre code ici

		SELECT 
			Country,
			City,
			CustomerName,
			ContactName,
			Address
		FROM customers
		ORDER BY Country, CustomerName;

      

	  
		/****************************************************************************************
		# Requête 2 : /2pts

		Écrire une requête qui affiche la liste des différents pays d'ou proviennent les clients.
		On affichera la colonne Country
		La liste sera triée par Country
		Table : Customers
		*****************************************************************************************/
		-- # Votre code ici

		SELECT DISTINCT 
			Country
		FROM customers
		ORDER BY Country;

      

	  
		/****************************************************************************************
		# Requête 3 : /2pts

		Écrire une requête qui affiche la liste des clients dont le pays (country) est : 
		Brazil, Italy, Spain et Austria
		On affichera les colonnes CustomerName, ContactName, Address, Country, City
		La liste sera triée par CustomerName
		Table : Customers
		*****************************************************************************************/
		-- # Votre code ici

		SELECT 
			CustomerName, 
			ContactName, 
			Address, 
			Country, 
			City
		FROM customers
		WHERE Country  IN ('Brazil','Italy','Spain','Austria')
		ORDER BY CustomerName;

      

	  
		/***************************************************************************************
		# Requête 4 : /2pts

		Écrire une requête qui affiche la liste des clients n'ayant pas de code postal (PostalCode)
		On affichera les colonnes CustomerName, ContactName, PostalCode, Country, City
		La liste sera triée par Country
		Table : Customers
		****************************************************************************************/
		-- # Votre code ici

		SELECT 
			CustomerName, 
			ContactName, 
			PostalCode, 
			Country, 
			City
		FROM customers
		WHERE PostalCode = '' OR PostalCode IS NULL
		ORDER BY Country;

      

	  
		/************************************************************************************
		# Requête 5 : /2pts

		Écrire une requête qui affiche la liste des employés.
		On affichera les colonnes suivantes : 
		- Le NomComplet qui contient le nom et le prénom sous la forme Nom, Prenom
		- le Courriel sous la forme : Prenom.Nom@northwind.com
		- La date de naissance
		La liste sera triée du plus agé au plus jeune.
		Table : Employees
		**************************************************************************************/
		-- # Votre code ici

		SELECT 
			FirstName + ', ' + LastName NomComplet,
			FirstName + '.' + LastName  + '@northwind.com',
			BirthDate
		FROM employees
		ORDER BY BirthDate

      

	  
		/******************************************************************************************************
		# Requête 6 :  /2pts

		Écrire une requête qui affiche la liste des employés ayant les diplômes suivants :
		Un MBA, Ph.D et BA
		On affichera les colonnes LastName, FirstName, BirthDate
		Table : Employees
		*******************************************************************************************************/
		-- # Votre code ici

		SELECT 
			EmployeeID
			,LastName
			,FirstName
			,BirthDate
			,Photo
			,Notes
		  FROM [Northwind].[dbo].[Employees]
		  WHERE Notes LIKE '%MBA%' OR Notes LIKE '%Ph.D%' OR Notes LIKE '%BA%'

      

	  
		/***********************************************************************************
		# Requête 7 : /2pts

		Écrire une requête qui affiche la liste des produits de catégorie 1, 2, 6 des fournisseurs (suppliers) 2, 20, 25 et 
		dont le prix est supérieur à 20$.
		On affichera les colonnes le nom du produit, sa catégorie, le fournisseur et le prix
		La liste sera triée par categorie et du plus cher au moins cher dans la catégorie
		***********************************************************************************/
		-- # Votre code ici

		SELECT 
			ProductName,
			SupplierID,
			CategoryID,
			Price
		FROM products
		WHERE CategoryID IN (1,2,6) AND SupplierID IN (2,20,25) AND Price > 20
		ORDER BY CategoryID, Price DESC;

      

	  
		/**********************************************************************************************
		# Requête 8 : /2pts

		A cause de l'inflation, l'entreprise décide d'augmenter le prix de ses produits
		Elle décide donc d'appliquer une hausse de 9% aux produits dont le prix est supérieur ou égal à 40$
		Écrire une requête qui affiche la liste des produits affectés par cette augmentation.
		On affichera les colonnes ProductName, QuantityPerUnit, UnitPrice, NouveauPrix
		La liste sera triée par l'ancien prix
		*********************************************************************************************/
		-- # Votre code ici

		SELECT 
			ProductName,
			Unit,
			Price,
			Price + Price * 9/100 NouveauPrix
		FROM products
		WHERE Price >= 40
		ORDER BY Price;
		
      

	  
		/*******************************************************************************************
		# Requête 9 : /2pts

		Écrire une requête qui calcule le prix moyen des produits vendus par l'entreprise Northwind 
		selon leur catégorie.
		On affichera les colonnes suivantes : 
		- Le numero de la catégorie, 
		- le nombre de produits, 
		- le prix moyen des produits, 
		- le produit le plus cher, 
		- le produit le moins cher pour chaque
		- 
		********************************************************************************************/
		-- # Votre code ici
		SELECT 
			CategoryID,
			COUNT(ProductID) NombreProduits,
			AVG(Price) PrixMoyen,
			MAX(Price) PrixMaximum,
			MIN(Price) PrixMinimum
		FROM Products
		GROUP BY CategoryID;
		
      

	  
		/******************************************************************************************
		# Requête 10 : /2pts

		Écrire une requête qui calule le nombre de commandes livrées
		par chaque compagnie de livraison
		On affichera les colonnes 
		Le numero du livreur,
		Le nombre de commandes livrées

		******************************************************************************************/
		-- # Votre code ici
		SELECT
			ShipperID,
			COUNT(OrderID) NombreCommandes
		FROM Orders
		GROUP BY ShipperID;

      


      

	 
      


      

		  
	  

W3schools

Python.org