MySQL 5 -- Syntaxe SQL - SQL/NoSQL - Programmation
Marsh Posté le 24-07-2006 à 09:13:18
je dirais qu'il est moins souple. Avec le INNER JOIN, c'est une jointure entre la table de gauche et celle de droite.
Dans ca premiere requete les table concernées sont _customer_address et _customer. Donc _order ne figure pas dans la jointure. Dans la seconde, elle est présente.
Je dirais que MySQL est tres tolerant.
j'ecrirais plutôt la requete ainsi:
Marsh Posté le 22-07-2006 à 13:32:01
J'ai eu la surprise en executant une requête de voir que l'ordre dans l'énumération des tables après un FROM a son importance avec MySQL 5 (au boulot avec MySQL 4 ca marche)
Exemple :
SELECT DISTINCT _order.* FROM t_ebiz_order _order, t_ebiz_customer_address _customer_address INNER JOIN t_ebiz_customer _customer ON _customer.id_customer = _order.id_customer;
La requête ci-dessus plante avec le message : "Unknown column '_order.id_customer' in 'on clause'"
Alors que :
SELECT DISTINCT _order.* FROM t_ebiz_customer_address _customer_address, t_ebiz_order _order INNER JOIN t_ebiz_customer _customer ON _customer.id_customer = _order.id_customer;
Marche ... c'est une norme SQL ça ou bien c'est propre à MySQL cette ordre dans les FROM
Message édité par Giz le 22-07-2006 à 13:34:20
---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3