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 :

INNER JOIN et WHERE...=


Sujet :

Langage SQL

  1. #1
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut INNER JOIN et WHERE...=
    Bonjour,
    je me demandais qu'elle était la diff entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT 
    t1.chmp1,
    t1.chmp2,
    t2.chmp1,
    FROM table1 t1, table2 t2
    WHERE t1.ide = t2.ide
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT 
    table1.chmp1,
    table1.chmp2,
    table2.chmp1,
    FROM table1
    INNER JOIN table2 ON (table1.ide = table2.ide)
    S'il n'y a pas de différence, c'est quoi l'intérêt?
    autant, pour LEFT OUTER JOIN, je vois mais là...

    merci
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  2. #2
    Expert éminent
    Homme Profil pro
    Big Data / Freelance EURL
    Inscrit en
    Mars 2003
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Big Data / Freelance EURL

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 124
    Points : 7 291
    Points
    7 291
    Par défaut
    Lit cela, partie "Dans la mesure du possible, utilisez toujours un opérateur de jointure normalisé Sql2 (mot clef JOIN)":

    sqlpro.developpez.com: 1.2. Différents type de jointures (naturelles, équi, non equi, auto, externes, hétérogènes, croisée et union)
    J'ai mis un moment à m'y mettre car lorsque l'on vient des jointures ancienne les nouvelles sont moins intuitive. Avec l'habitude les jointures normalisées ont plus de possibilités, c'est plus propre et on diffèrencie mieux la clause where proprement dite des jointures

    Par contre en ce qui concerne les générateurs de requêtes comme BO je doute que ça vaille la peine que ces générateurs passent en jointures normalisées. ça risquerait de faire une usine à gaz pour une requête qui ne sera jamais aussi optimisée qu'une requête écrite à la main aux petits oignons.

  3. #3
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    Bonjour,

    en effet, j'ai fini par lire l'article. c clair, c net...

    merci
    A+
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  4. #4
    Expert éminent
    Homme Profil pro
    Big Data / Freelance EURL
    Inscrit en
    Mars 2003
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Big Data / Freelance EURL

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 124
    Points : 7 291
    Points
    7 291
    Par défaut
    Citation Envoyé par phili_b
    Par contre en ce qui concerne les générateurs de requêtes comme BO je doute que ça vaille la peine que ces générateurs passent en jointures normalisées.
    Je me suis trompé pour les versions récentes:
    Avec le paramètre de l'univers à ANSI92=Yes, dans BO 6.5 (BO 6.x?) on peut faire générer les jointures en SQL92 tout en les écrivant à l'ancienne mode mais en cochant le côté correspondant à la jointure externe: au moment de la génération de la requête on aura bien un LEFT JOIN.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Performances : INNER JOIN vs WHERE
    Par zeclubbeur dans le forum Débuter
    Réponses: 2
    Dernier message: 12/02/2012, 17h52
  2. inner join ou where ?
    Par csszzen dans le forum Langage SQL
    Réponses: 14
    Dernier message: 15/03/2007, 16h53
  3. INNER JOIN ou WHERE
    Par Thierry8 dans le forum Requêtes
    Réponses: 7
    Dernier message: 12/02/2006, 16h45
  4. Jointures : INNER JOIN vs WHERE
    Par vic dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/02/2006, 11h05
  5. INNER JOIN ou WHERE ...
    Par maitrebn dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/10/2004, 13h14

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