From 65ffe830a741fc61299bd61c6db1cb2c63e8c5d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20MARQUET?= <72651575+BreizhHardware@users.noreply.github.com> Date: Fri, 10 Oct 2025 10:36:37 +0200 Subject: [PATCH] Obisidian vault auto-backup: 10-10-2025 10:36:37 on . 1 files edited --- ISEN/BDD/CIPA4/TP2/TP2.sql | 53 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/ISEN/BDD/CIPA4/TP2/TP2.sql b/ISEN/BDD/CIPA4/TP2/TP2.sql index d327206..38287cf 100644 --- a/ISEN/BDD/CIPA4/TP2/TP2.sql +++ b/ISEN/BDD/CIPA4/TP2/TP2.sql @@ -1,4 +1,5 @@ -/*1/ Requêtes avec équi-jointure +/* +1/ Requêtes avec équi-jointure Afficher le nom, la fonction et le lieu de travail des employés, triés par lieu de travail et fonction */ SELECT nom, fonction, ville @@ -6,6 +7,18 @@ SELECT nom, fonction, ville JOIN public.service s on employe.num_service = s.num_service ORDER BY ville, fonction; +/* Version avec LEFT JOIN*/ +SELECT nom, fonction, ville + FROM employe + LEFT JOIN public.service s on employe.num_service = s.num_service + ORDER BY ville, fonction; + +/* Version avec WHERE*/ +SELECT nom, fonction, ville + FROM employe, public.service s + WHERE employe.num_service = s.num_service + ORDER BY ville, fonction; + /* Afficher le nom et la fonction des employés travaillant à Brest */ @@ -13,6 +26,17 @@ SELECT nom, fonction FROM employe JOIN public.service s on employe.num_service = s.num_service WHERE ville = 'Brest'; +/* Version avec LEFT JOIN*/ +SELECT nom, fonction + FROM employe + LEFT JOIN public.service s on employe.num_service = s.num_service + WHERE ville = 'Brest'; + +/* Version avec WHERE*/ +SELECT nom, fonction + FROM employe, public.service s + WHERE employe.num_service = s.num_service + AND ville = 'Brest'; /* Afficher le nom et la fonction des employés dont le supérieur hiérarchique n’est pas le PDG @@ -22,6 +46,18 @@ SELECT nom, fonction JOIN public.service s on employe.num_service = s.num_service WHERE numemp_sup <> 1; +/* Version avec LEFT JOIN*/ +SELECT nom, fonction + FROM employe + LEFT JOIN public.service s on employe.num_service = s.num_service + WHERE numemp_sup <> 1; + +/* Version avec WHERE*/ +SELECT nom, fonction + FROM employe, public.service s + WHERE employe.num_service = s.num_service + AND numemp_sup <> 1; + /* Afficher le nom, la fonction, le nom et la fonction du supérieur hiérarchique (renommer ces 2 colonnes) et le lieu de travail des employés, triés par fonction et nom */ @@ -30,6 +66,19 @@ SELECT nom, fonction, nom AS nom_sup, fonction AS fonction_sup, ville JOIN public.service s on employe.num_service = s.num_service ORDER BY fonction, nom; +/* Version avec LEFT JOIN*/ +SELECT nom, fonction, nom AS nom_sup, fonction AS fonction_sup, ville + FROM employe + LEFT JOIN public.service s on employe.num_service = s.num_service + ORDER BY fonction, nom; + +/* Version avec WHERE*/ +SELECT e1.nom, e1.fonction, e2.nom AS nom_sup, e2.fonction AS fonction_sup, s.ville + FROM employe e1, employe e2, public.service s + WHERE e1.numemp_sup = e2.numemp + AND e1.num_service = s.num_service + ORDER BY e1.fonction, e1.nom; + /* 2/ Requêtes avec "GROUP BY" Afficher le nombre d'employés par service @@ -62,7 +111,7 @@ Reprendre la quatrième requêtes de la partie 1), en affichant aussi le PDG (in */ SELECT nom, fonction, nom AS nom_sup, fonction AS fonction_sup, ville FROM employe - LEFT JOIN public.service s on employe.num_service = s.num_service + LEFT JOIN public.service s ON employe.num_service = s.num_service ORDER BY fonction, nom; /*