IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Jointure externe, quelle syntaxe : "(+)" ? ou "left join" ?


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 23
    Points : 13
    Points
    13
    Par défaut Jointure externe, quelle syntaxe : "(+)" ? ou "left join" ?
    Bonjour,


    J'aimerais connaitre la différence entre le symbole (+) et le mot clé "JOIN" pour faire une jointure externe.

    Est-ce que l'un s'utilise par exemple en MySql et l'autre sous Oracle ?
    Ou est-ce que ça n'a aucun rapport. J'ai vu des exemples de jointures externes partout sur le net, et desfois ils utilisent (+) et d'autres fois "left join" ou "right join", du coup je comprends pas la différence....

    Merci de votre aide !

    A+

    PS : Un des exemples que j'ai vu avec (+) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      SELECT A1.store_name, SUM(A2.Sales) SALES
        FROM Geography A1, Store_Information A2
       WHERE A1.store_name = A2.store_name(+)
    GROUP BY A1.store_name
    Et un autre exemple avec JOIN :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT column_name(s)
      FROM table_name1
           LEFT JOIN table_name2
             ON table_name1.column_name = table_name2.column_name

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    (+) est une vieille syntaxe Oracle conservée pour des raisons de compatibilité ascendante des différentes versions.

    LEFT OUTER JOIN / RIGHT OUTER JOIN fonctionnent également sur Oracle (depuis la 8i il me semble), et je vous encourage vivement à utiliser cette syntaxe, plus souple et normative.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 23
    Points : 13
    Points
    13
    Par défaut
    ah d'accord, donc je laisse tomber le (+), et j'utilise le outer join alors. Ça fonctionne sur n'importe quel SGBD ?

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Je ne connais pas tous les SGBD, mais pour les principaux oui.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 561
    Points
    52 561
    Billets dans le blog
    5
    Par défaut
    aujourd'hui, oui sur tout. Oracle à été le plus tardif à s'y mettre comme d'habitude !

    A+
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Jointure externe complexe avec syntaxe simple
    Par titpuce dans le forum SQL
    Réponses: 2
    Dernier message: 03/09/2008, 14h00
  2. Syntaxe jointure externe
    Par the java lover dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 12/06/2008, 10h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo