Voici les requêtes SQL lancées lors de l'exécution de Test6, avec les affichages.
SELECT ID, DTYPE, NOM, SALAIRE, SUPERIEUR_ID, DEPARTEMENT_ID FROM
PERSONNE WHERE (DTYPE = ?)
SELECT ID, NOM, LIEU FROM DEPARTEMENT WHERE (ID = ?)
SELECT ID, NOM, LIEU FROM DEPARTEMENT WHERE (ID = ?)
SELECT ID, NOM, LIEU FROM DEPARTEMENT WHERE (ID = ?)
(autant d'ordres SQL que d'employés).
Liste des noms des employés :
Dupond
Durand
Legrand
Pierre
Durand
Legrand
Liste des projets des employés :
SELECT ID, FONCTION, EMPLOYE_ID, PROJET_ID FROM PARTICIPATION2 WHERE
(EMPLOYE_ID = ?)
SELECT ID, FONCTION, EMPLOYE_ID, PROJET_ID FROM PARTICIPATION2 WHERE
(EMPLOYE_ID = ?)
(autant d'ordres SQL que d'employés).
Liste des projets des employés :
(Puis vient l'affichage des projets.)
SELECT DISTINCT t0.ID, t0.DTYPE, t0.NOM, t0.SALAIRE, t0.SUPERIEUR_ID,
t0.DEPARTEMENT_ID, t1.ID, t1.FONCTION, t1.EMPLOYE_ID, t1.PROJET_ID FROM
PERSONNE t0, PARTICIPATION2 t1 WHERE ((t0.DTYPE = ?) AND (t1.EMPLOYE_ID
= t0.ID))
Sans le problème des N+1 selects****
Liste des noms des employés :
Pierre
Durand
Legrand
Liste des projets des employés :
Pierre ; Qualité
Durand ; Qualité
Legrand ; Sport