Obisidian vault auto-backup: 10-10-2025 10:36:37 on . 1 files edited

This commit is contained in:
Félix MARQUET
2025-10-10 10:36:37 +02:00
parent ce4997107c
commit 65ffe830a7

View File

@@ -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 nest 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;
/*