bonjour,
ce message n'est pas une question mais comme je viens de le découvrir, autant en faire profiter les gens.
Dans postgres, quand on fait cela :
SELECT * FROM matable toto
WHERE matable.monchamp='rouge'
le résultat inclut les lignes où champ est différent de rouge (ce qui me stupéfait)
car.........
quand j'ai crée l'alias toto (sans pour autant l'utiliser dans le WHERE) et j'ai utilisé le vrai nom de la table (avec le point), l'ancien nom de la table 'matable' n'existe plus et postgres créer donc une autre table, donc un produit cartésien.
donc c'est l'équivalent de cette réquête :
SELECT * FROM matable t1, matable t2
WHERE t1.monchamp='rouge'
lorsqu'on fait pareil dans Mysql, mysql nous bloque bien :
ce que j'ai appris :requête SQL: Documentation
SELECT uti_id, uti_identite
FROM utilisateurs u
WHERE utilisateurs.uti_identite LIKE '%og%'
LIMIT 0 , 100
MySQL a réponduocumentation
#1109 - Table inconnue 'utilisateurs' dans where clause
un alias de table créer vraiment une autre table, ce n'est pas juste un 'lien symbolique' d'une table, ou juste un autre nom.
donc ça a un coût mémoire...
Partager