diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json
index eda68fe..b76f542 100644
--- a/.obsidian/workspace.json
+++ b/.obsidian/workspace.json
@@ -252,8 +252,12 @@
"obsidian-git:Open Git source control": false
}
},
- "active": "d7edff405bbcbd43",
+ "active": "622da1d4e0ba0f73",
"lastOpenFiles": [
+ "ISEN/BDD/CIPA4/TP2/TP2.sql~",
+ "ISEN/BDD/CIPA4/TP2/TP2.sql",
+ "ISEN/BDD/CIPA4/TP2/Tp2.pdf",
+ "ISEN/BDD/CIPA4/TP2",
"Untitled.base",
"Pasted image 20251009192656.png",
"ISEN/Other/Appen/Git flow Studysen.pdf",
@@ -268,10 +272,6 @@
"ISEN/IA/CIPA4/Fiche de révision.md",
"ISEN/IA/CIPA4/TP/TP4/tp4_IA.ipynb",
"ISEN/IA/CIPA4/TP/TP4/tp4_IA (1).ipynb",
- "ISEN/IA/CIPA4/Fiche de révision.pdf",
- "ISEN/Réseau/CIPA4/TP/Module 3/Enonce du M03 TP 04 - Calcul de sous-reseaux.pdf",
- "ISEN/Réseau/CIPA4/TP/Module 3/Enonce du M03 TP 03 - Notation CIDR.pdf",
- "ISEN/Réseau/CIPA4/TP/Module 3/Enonce du M03 TP 05 - Parametrages d'adresses IPv4.pdf",
"ISEN/Réseau/CIPA4/Réseau Cours 1.md",
"ISEN/IA/CIPA4/TP/TP3/Compte Rendu TP3 Apprentissage non-supervisé - Réduction de la dimensionnalité.md",
"src/Pasted image 20240130111505.png",
diff --git a/ISEN/BDD/CIPA4/.idea/copilot.data.migration.ask.xml b/ISEN/BDD/CIPA4/.idea/copilot.data.migration.ask.xml
new file mode 100644
index 0000000..7ef04e2
--- /dev/null
+++ b/ISEN/BDD/CIPA4/.idea/copilot.data.migration.ask.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ISEN/BDD/CIPA4/.idea/copilot.data.migration.ask2agent.xml b/ISEN/BDD/CIPA4/.idea/copilot.data.migration.ask2agent.xml
new file mode 100644
index 0000000..1f2ea11
--- /dev/null
+++ b/ISEN/BDD/CIPA4/.idea/copilot.data.migration.ask2agent.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ISEN/BDD/CIPA4/.idea/data_source_mapping.xml b/ISEN/BDD/CIPA4/.idea/data_source_mapping.xml
index 3858726..d18aadf 100644
--- a/ISEN/BDD/CIPA4/.idea/data_source_mapping.xml
+++ b/ISEN/BDD/CIPA4/.idea/data_source_mapping.xml
@@ -5,5 +5,6 @@
+
\ No newline at end of file
diff --git a/ISEN/BDD/CIPA4/.idea/sqldialects.xml b/ISEN/BDD/CIPA4/.idea/sqldialects.xml
index 077c9e3..4d38f06 100644
--- a/ISEN/BDD/CIPA4/.idea/sqldialects.xml
+++ b/ISEN/BDD/CIPA4/.idea/sqldialects.xml
@@ -4,5 +4,6 @@
+
\ No newline at end of file
diff --git a/ISEN/BDD/CIPA4/TP2/TP2.sql b/ISEN/BDD/CIPA4/TP2/TP2.sql
new file mode 100644
index 0000000..d327206
--- /dev/null
+++ b/ISEN/BDD/CIPA4/TP2/TP2.sql
@@ -0,0 +1,74 @@
+/*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
+ FROM employe
+ JOIN public.service s on employe.num_service = s.num_service
+ ORDER BY ville, fonction;
+
+/*
+Afficher le nom et la fonction des employés travaillant à Brest
+ */
+SELECT nom, fonction
+ FROM employe
+ JOIN public.service s on employe.num_service = s.num_service
+ WHERE ville = 'Brest';
+
+/*
+Afficher le nom et la fonction des employés dont le supérieur hiérarchique n’est pas le PDG
+ */
+SELECT nom, fonction
+ FROM employe
+ JOIN public.service s on employe.num_service = s.num_service
+ WHERE 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
+ */
+SELECT nom, fonction, nom AS nom_sup, fonction AS fonction_sup, ville
+ FROM employe
+ JOIN public.service s on employe.num_service = s.num_service
+ ORDER BY fonction, nom;
+
+/*
+2/ Requêtes avec "GROUP BY"
+Afficher le nombre d'employés par service
+ */
+SELECT s.type_service, COUNT(*)
+ FROM employe
+ JOIN public.service s on employe.num_service = s.num_service
+ GROUP BY s.type_service;
+
+/*
+Afficher le lieu de travail, le nombre d’employés et leur salaire moyen, par lieu de travail
+ */
+SELECT ville, COUNT(*), AVG(salaire)
+ FROM employe
+ JOIN public.service s on employe.num_service = s.num_service
+ GROUP BY ville;
+
+/*
+3/ Requêtes avec imbrication de "SELECT"
+Afficher le numéro et nom des services qui n’ont aucun employé
+ */
+SELECT num_service, type_service
+ FROM service
+ WHERE num_service NOT IN
+ (SELECT num_service FROM employe);
+
+/*
+4/ Bonus
+Reprendre la quatrième requêtes de la partie 1), en affichant aussi le PDG (indice : jointure externe)
+ */
+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;
+
+/*
+Rechercher plusieurs variantes de la requête de la partie 3) : avec sous-select synchronisé, avec jointure externe
+ */
+SELECT type_service, COUNT(*)
+ FROM service
+ LEFT JOIN employe ON service.num_service = employe.num_service
+ GROUP BY type_service;
\ No newline at end of file
diff --git a/ISEN/BDD/CIPA4/TP2/Tp2.pdf b/ISEN/BDD/CIPA4/TP2/Tp2.pdf
new file mode 100644
index 0000000..db06e13
Binary files /dev/null and b/ISEN/BDD/CIPA4/TP2/Tp2.pdf differ