Bonjour à tous,
j'ai vraiment du mal avec le concept des Tables Dérivées, est-ce que vous pouvez me l'expliquer, son rôle, comment ça fonctionne et son code SQL?
Merci d'avance.
BIOoOAG
Version imprimable
Bonjour à tous,
j'ai vraiment du mal avec le concept des Tables Dérivées, est-ce que vous pouvez me l'expliquer, son rôle, comment ça fonctionne et son code SQL?
Merci d'avance.
BIOoOAG
table dérivée = sous requête dans la clause FROM.
Exemple :
A +Code:
1
2
3
4
5
6
7
8 SELECT * FROM ( --> table dérivée SELECT * FROM MaTable --> fin table dérivée ) AS T
Une table dérivée, à ma connaissance, ce n'est rien d'autre qu'une sous-requête utilisée dans la clause FROM d'une requête.
Dans la requête suivante, drv est une table dérivée.
On aurait aussi pu créer une vue sur la requête drv et interroger cette vue sans s'interroger sur ce qui "se cachait" derrière.Code:
1
2
3
4
5
6
7 SELECT MAX(drv.total) AS max_par_cle FROM ( SELECT tbl.cle , SUM(tbl.valeur) AS total FROM matable tbl GROUP BY tbl.cle ) drv ;
Code:
1
2
3
4
5
6
7
8
9 CREATE VIEW drv AS SELECT tbl.cle , SUM(tbl.valeur) AS total FROM matable tbl GROUP BY tbl.cle ; SELECT MAX(drv.total) AS max_par_cle FROM drv ;