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 :
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Le résultat est le MEME dans les deux cas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.
Partager