Administrateur PHPfrance |
3088 Messages
30 nov. 2006, 14:38
Je pensais avoir fait un post sur les tables dérivées mais je ne le trouve pas, donc j'ai dû le rêver. Pour info, l'
entrée du manuel est là.
Donc pour en revenir à l'exemple ci-dessus, la première requête nous donne une série de
user_id, ok ? imagine que tu mets tous ces résultats dans une
table temporaire qu'on appelera "
uid". On pourrait par exemple le faire avec:
Code : Tout sélectionner
CREATE TEMPORARY TABLE uid
SELECT DISTINCT users.user_id
FROM users
JOIN photos USING (user_id)
On a dit que ces
user_id nous servaient à récupérer les données utilisateurs, on pourrait donc faire
Ben les tables dérivées c'est exactement ça, mis à part qu'on a pas besoin de créer de table temporaire, elle est créée automatiquement durant la requête et elle est détruite tout de suite après. D'ailleurs, tu remarqueras que les requêtes sont identiques, on a juste à mettre la déclaration de la table entre parenthèses dans la clause FROM. Mmh, c'est plus clair comme ça ? les tables dérivées ce sont des tables temporaires que l'on crée durant une requête.