2011-08-22 7 views
-5

Cette question concerne les jointures à gauche SQL. Qu'est-ce, si quelque chose, est la différence entre les deux requêtes suivantes?la question sur sql left join on?

(1)

select * from A 
    LEFT JOIN B 
    ON A.field = B.field 

(2)

select * from A 
    LEFT JOIN B 
    ON B.field = A.field 
+1

@négatifs marqueurs: commentaires s'il vous plaît –

+1

@closers: les commentaires seraient bons. –

Répondre

4

Je voudrais offrir plus de contenu, mais tout ce que je peux dire: il n'y a pas de différence, l'ordre des champs n'a pas d'importance.

3

Il n'y a pas de différence; ce sont des déclarations identiques.

1

Aucun. Si vous obtenez des résultats différents pour ces questions, il y a quelque chose de fondamentalement mauvais avec vous la technologie DB ...

1

Les deux déclarations produira la même sortie

A LEFT JOIN est basé sur les tables, et non pas sur les colonnes que vous joindrez par.

Dans votre cas, la Table A est LEFT JOINED à la Table B, l'ordre des colonnes spécifié dans la jointure n'affecte en rien le résultat. Maintenant, si vous avez modifié l'ordre des tables, vous obtiendrez un résultat différent. A LEFT JOIN B est différent de B LEFT JOIN A.