Nouvelle syntaxe des jointures : une clause "WHERE" dans le FROM?
Bonjour,
Sous Oracle j'utilise de préférence la syntaxe classique où les jointures sont mises dans la clause WHERE.
Avec la nouvelle syntaxe, les jointures sont dans la clause FROM avec les mots clés JOIN, INNER JOIN, NATURAL JOIN, USING, ON...
OK, je n'aime pas trop pour diverses raisons mais j'arrive à lire le code.
SAUF que hier, j'ai eu le code suivant :
Code:
1 2 3 4 5 6 7
| select a.bic_name
from
bic_code a JOIN bic_instruct_client b ON
(a.BIC_BANK_CODE = b.BIC_BANK_CODE and
a.BIC_BRANCH_CODE = b.BIC_BRANCH_CODE
AND a.BIC_NAME like 'W%')
Order by 1; |
C'est quoi ce truc? La jointure se fait sur les deux tables avec deux colonnes MAIS pourquoi avoir ajouté AND a.BIC_NAME like 'W%'? Je ne me suis pas démonté et j'ai lancé la requête suivante où j'ai déporté le like dans le where.
Code:
1 2 3 4 5 6 7
| select a.bic_name
from
bic_code a JOIN bic_instruct_client b ON
(a.BIC_BANK_CODE = b.BIC_BANK_CODE and
a.BIC_BRANCH_CODE = b.BIC_BRANCH_CODE)
WHERE a.BIC_NAME like 'W%
order by 1; |
Le résultat est le MEME dans les deux cas :aie:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| BIC_NAME
W AND W ADVISORY DUBLIN LIMITED
W AND W ASSET MANAGEMENT DUBLI
W FINANCE
W FINANCE ADM
W FINANCE ASS
WATERFORD CAPITAL INVEST PLC
WAVES FINANCIAL INVESTMENTS PLC
WELLS FARGO GLOBAL FUND SERVICES UK
WEST MERCHANT LONDON (GLOBAL D
WILLIAMS DE BROE PLC
WILLIAMS DE BROE PLC LONDON |
J'en conclus qu'on peut mettre les conditions de sélection dans la jointure avec cette nouvelle syntaxe ou bien dans le where; le gros bordel quoi; c'est une découverte et je l'aime de moins en moins cette syntaxe...
Est-ce que j'ai bien interprété la chose ou bien je me suis planté?
Sinon, est-ce que vous auriez un lien présentant de manière exhaustive mais pas trop longue cette syntaxe car en cherchant sur le net je n'ai pas trouvé de site mentionnant la fonctionnalité ci-dessus.