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 5 - Complémentaires
##Auteur : Enseignant ##École : Collège Marie Victorin ##Session : Hiver 2026 ##Titre du cours : Introduction aux bases de données ##Titre du programme : Travaux dirigés 5 - Complémentaires ##Version : 1.0 ##Date : 00/00/2026 ##Langage et version : SQL ##Moteur : SQL Server Express
-- Les requêtes sélection dans le langage SQL -- Objectif : -- Ce travail dirigé portera sur la création de requêtes sélection dans le langage SQL -- =================================================================================== -- *************************************************************************** -- Vérifications à faire systématiquement AVANT d'écrire les requêtes -- Vérifier la structure de la table à utiliser, c'est à dire : -- Le nom de la table -- Le nom des colonnes -- Le type des colonnes -- Les données contenues dans la table -- Base de données à utiliser : Xtremefr -- *************************************************************************** -- --------- -- Requête 1 -- Écrire une requête qui affiche la liste de tous les clients qui sont situés au Canada dont le nom commence par la lettre "C" ainsi que ceux qui sont -- situés aux États-Unis et dont le nom commence par les lettres comprises entre "D" et "P" -- La liste sera classée par pays et par ordre alphabétique du nom du client. -- On affichera : -- le nom du client -- le prénom du contact -- Le nom du contact -- le pays -- la ville -- Votre code ici SELECT [Nom du client], [Prénom du contact], [Nom du contact], [Pays] FROM Clients WHERE ([Pays] = 'Canada' AND [Nom du client] LIKE 'C%') OR ([Pays] LIKE '%tats-Unis%' AND [Nom du client] BETWEEN 'D%' AND 'Q%') ORDER BY Pays, [Nom du client] ASC;
-- --------- -- Requête 2 -- Écrire une requête qui affiche tous les employés qui ont été embauchés en 1996 et 1999. -- Triez les résultats par ancienneté de l'employé c'est à dire les plus anciens en premier -- -- On affichera les colonnes suivantes -- le nom de l'employé -- Le prénom de l'employé -- Le poste qu'il occupe -- La date de son embauche -- Son ancienneté -- Sa date de naissance -- Son age -- Votre code ici SELECT [Nom], [Prénom], [Poste occupé], [Date d'embauche], (YEAR(GETDATE()) - YEAR([Date d'embauche])) Ancienneté, [Date de naissance], DATEDIFF(YEAR, [Date de naissance], GETDATE()) Age FROM Employés WHERE YEAR([Date d'embauche]) IN (1996, 1999) ORDER BY [Date d'embauche];
-- ---------
-- Requête 3
-- Écrire une requête qui affiche la liste des produits qui sont de couleur "Rouge", qui contiennent du "vert", dont la taille est 15, 20,
-- de type 1,2 et du fournisseur 5
-- Le résultat sera trié en ordre alphabétique du nom du produit.
-- On affichera les colonnes suivantes :
-- Le nom du produit
-- La couleur du produit
-- La taille du produit
-- La classe
-- Le prix conseillé
-- Votre code ici
SELECT
[Nom du produit],
[Couleur],
[Taille],
[Classe du produit],
[Prix conseillé],
[ID type de produit],
[ID fournisseur]
FROM Produits
WHERE ([Couleur] = 'Rouge' OR [Couleur] LIKE '%vert%')
AND ([Taille] IN ('15', '20'))
AND[ID type de produit] IN (1,3)
AND [ID fournisseur] = 5
ORDER BY [Nom du produit] ASC;
-- ---------
-- Requête 4
-- Écrire une requête qui affiche la liste des commandes qui ont été passées en 2003, 2005, dont le montant est supérieur à 1000 $, qui ont été expédiées et livrées par "Puralator"
-- ainsi que les commandes qui n'ont pas été expédiées par les transporteurs "Pickup", "Fedex"
-- Affichez les résultats en commençant par la date de commande la plus récente et le transportuer
-- On affichera les colonnes suivanates :
-- L'ID de la commande
-- Le montant de la commande
-- La date de la commande
-- La date d'expédition
-- Le nom du transporteur
-- Votre code ici
SELECT
[ID commande],
[Montant commande],
[Date de commande],
[Date d'expédition],
[Transporteur],
[Commande expédiée]
FROM Commandes
WHERE (YEAR([Date de commande]) IN (2003, 2005)
AND [Montant commande] > 1000
AND [Commande expédiée] = 1
AND [Transporteur] = 'Purolator')
OR ([Commande expédiée] = 0
AND [Transporteur] IN ('Pickup', 'Fedex'))
ORDER BY [Date de commande] DESC, [Transporteur];
-- ---------- -- Requête 5 -- Écrire une requête qui affiche la liste des types de produits qui ne sont pas décrits comme étant des VTT -- -- On affichera les colonnes suivantes : -- Le nom du type de produit -- Sa description -- Votre code ici SELECT [Nom du type de produit] ,[Description] FROM [dbo].[tblTypeProduit] WHERE [Description] NOT LIKE '%vtt%'
-- ----------
-- Requête 6
-- Écrire une requête qui affiche la liste des clients qui n'ont pas de code postal, dont la région a plus de deux caractères,
-- dont les ventes de l'année dernière sont supérieures à 10 000 $,
-- et qui sont situés dans la région "Québec" ou "Ontario".
-- Trier les résultats par les ventes décroissantes.
-- On affichera
-- le nom du client
-- Le nom et le prenom du contact (en une seule colonne)
-- Site web
-- Les ventes
-- La région
-- Le code postal
-- Le code régional du numéro de téléphone
-- Votre code ici
SELECT
[Nom du client],
[Prénom du contact],
[Nom du contact],
[Site Web],
[Ventes de l'année dernière],
[Région],
[Code postal],
LEFT([Téléphone], CHARINDEX('-',[Téléphone]) - 1) CodeRegional
FROM Clients
WHERE [Code postal] IS NULL
AND [Ventes de l'année dernière] > 10000
AND LEN([Région]) > 2
ORDER BY [Ventes de l'année dernière] DESC;
-- ---------- -- Requête 7 -- Table : ici vous devez déterminer la table qui contient les informations pour écrire la requête -- Écrire une requête qui affiche les commandes n’ayant pas de numéro de commande, (pas l’ID Commande) et qui doivent être réapprovisionnés. -- On affichera les colonnes suivantes : -- • ID du Produit -- • Unités en commande -- • Unités en stock -- • Numéro de commande -- • Le seuil de réapprovisionnement -- • -- Votre code ici SELECT [ID produit], [Unités en commande], [Unités en stock], [Seuil de réapprovisionnement], [Numéro de commande] FROM [dbo].[Achats] WHERE ([Unités en commande] = 0) AND [Numéro de commande] IS NULL AND [Unités en stock] < [Seuil de réapprovisionnement];
-- ---------- -- Requête 8
-- ---------- -- Requête 9
-- ---------- -- Requête 10
-- ---------- -- Requête 11
-- ---------- -- Requête 12
-- ---------- -- Requête 13
W3schools
Python.org