2 Jointures Externes sur la Même Table?

Ici est une question qui a été ahurissant moi pour quelques jours maintenant, et j'ai cherché mais n'ai pas pu trouver aucune réponse convaincante !

Simple question, pourquoi est-il limité à 2 Jointures en SQL, sur la même table, même avec différentes colonnes utilisées, vérifier les requêtes ci-dessous pour mieux comprendre. Aussi, je peux les surmonter à l'aide de imbriquée sous-requête ou ANSI jointures, mais alors pourquoi il est encore restreint, en premier lieu, à l'aide de ( + ) - opérateur de!

Dans cette question, je me réfère à l'erreur :

ORA-01417: un tableau peut être externe joint d'au plus un autre tableau

Ce que je veux poser est pourquoi ce qui est permis :

select * from
a, b, c
where a.a1 = b.b1
and a.a2 = c.c1

Et pourquoi ce n'est pas permis:

select * from
a, b, c
where a.a1(+) = b.b1
and a.a2(+) = c.c1

Veuillez laisser ANSI et les sous-requêtes Imbriquées seul

Pouvez-vous fournir un exemple de ce que vous essayez de faire? Vous devriez être en mesure de rejoindre (inner ou outer) le même tableau autant de fois que nécessaire...
@Sgeddes dit, vous êtes le plus susceptible confus. Il n'y a pas de "2 Jointures Externes" limite sur Oracle
Je crois que vous n'obtiendrez si vous êtes en train de faire un "vieux style" jointure externe à l'aide de la (+) de l'opérateur. Ne pas utiliser le (+) opérateur - elle n'est pas portable, et pourrait bien être désapprouvée par Oracle. Au lieu de cela, utilisez un ANSI-style de JOINTURE EXTERNE GAUCHE pour effectuer vos jointures. Partager et d'en profiter.
l'ancienne syntaxe pour les jointures externes (à l'aide de (+)) est obsolète et ne doit pas être utilisé plus longtemps.
Ce n'est certainement pas recommandé, même par Oracle. Êtes-vous sûr que c'est déconseillé? Je ne peux pas trouver quelque chose dans l'Oracle docs à ce sujet.

OriginalL'auteur Shubham Gupta | 2013-06-14