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] definition


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 79
    Points
    79
    Par défaut [Jointure] definition
    Bonjour,

    Au bureau nous avons une question existentielle sur la definition de ce qu'est une jointure ouverte. Je pense que nous faisons une confusion avec le produit cartésien.

    Pourriez vous nous donner les définitions de ces deux termes.

    Merci.
    Java, JDBC, SQL, Oracle

    Specialiste Kamehameha des blagues-boulets

    Barman de la taverne

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Jamais entendu parler !

    Les jointures

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 79
    Points
    79
    Par défaut
    pour ma part voici ce que je pense :

    Tout type de jointure entre deux tables est un produit cartesien.

    Une jointure ouverte correspond a ce qui suit :

    Soit deux tables Client et Facture construites comme suit

    Table Client (idfclient, nom, adresse)
    Table Facture (idfclient, numero_facture)

    La table A contient les données suivantes :
    1 Toto Paris
    2 Tata Lyon

    la table B contient les données suivantes :
    1 1024
    1 1025
    2 1026
    2 1027

    Select nom, numero_facture from Client, Facture

    resultat :

    Toto 1024
    Toto 1025
    Toto 1026
    Toto 1027
    Tata 1024
    Tata 1025
    Tata 1026
    Tata 1027

    On parle alors de jointure ouverte. C'est une requete dangereuse car comme on peut le voir si la table A contient n ligne et la table B m ligne le résultat d’une telle requête produira n*m lignes.
    Si les tables sont volumineuses on peut etre a peu pres sur de mettre a genou le dataserver voir de faire exploser la log ou le tempdb.

    Alors c vrai ou pas car on m'a mis un sacre doute ici au bureau
    Java, JDBC, SQL, Oracle

    Specialiste Kamehameha des blagues-boulets

    Barman de la taverne

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Ne s'agit-il pas de jointure externe ?
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 79
    Points
    79
    Par défaut
    je ne crois pas,

    Un jointure externe corresponderait plus au probleme suivant :

    Soit deux tables Client et Facture construites comme suit

    Table Client (idfclient, nom, adresse)
    Table Facture (idfclient, numero_facture)

    La table A contient les données suivantes :
    1 Toto Paris
    2 Tata Lyon
    3 Tutu Annecis

    la table B contient les données suivantes :
    1 1024
    1 1025
    2 1026
    2 1027

    construire la requete telle que le resultat soit :

    Toto 1024
    Toto 1025
    Tata 1026
    Tata 1027
    Tutu Null

    A savoir faire une jointure externe sur Facture de maniere a obtenir toute les lignes de Client et si elles exsitent les informations les concernant dans la table facture.

    enfin il me semble.
    Java, JDBC, SQL, Oracle

    Specialiste Kamehameha des blagues-boulets

    Barman de la taverne

  6. #6
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Je sais ce qu'est une jointure externe, je voulais dire est-ce que jointure ouverte ne serait pas un synonyme de jointure externe, comme une recherche sur yahoo peut le laisser penser :
    http://www.parinux.org/pipermail/lin...st/022359.html :
    si tu fais une jointure ouverte (LEFT OUTER JOIN).
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  7. #7
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 79
    Points
    79
    Par défaut
    Arf va falloir quelqu'un pour trancher sur ce sujet du coup !

    Mr SQL-Pro pourait il eclaire nos lanterne et leve le voile ?

    Merci
    Java, JDBC, SQL, Oracle

    Specialiste Kamehameha des blagues-boulets

    Barman de la taverne

  8. #8
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Ce que vous appelez jointure ouverte est une jointure naturelle.

    j'ai lu trop vite. une jointure produisant un produit cartésien est appelée cross-join en anglais.

    le terme "ouvert" pour une jointure m'est inconnu.
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  9. #9
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Une jointure ouverte est inconnu du monde de SQL !
    Il devait s'agir d'une confusion sur les expressions.
    Quel lanterne voulez-vous qu'on éclaire ?
    J'ai déjà entendu parlé de la jointure manquante mais pas de la jointure ouverte.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  10. #10
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 79
    Points
    79
    Par défaut
    Bon ben je vais dire que je vous crois si je comprends ce qi est dit on dit plutot une jointure croisee alors ?

    Ce qui est louche c'est que je ne suis ps le seul a utiliser ce terme ... Aurait on ete infecte par un virus
    Java, JDBC, SQL, Oracle

    Specialiste Kamehameha des blagues-boulets

    Barman de la taverne

  11. #11
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Surement et Heureusement que le forum est un puissant antivirus de cette categorie.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  12. #12
    Membre régulier
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 79
    Points
    79
    Par défaut
    Humm pourtant :

    http://www.phpinfo.net/articles/article_optimisation-mysql.html

    faire une recherche sur ouverte, faut croire qu'il y en a d'autre qui ont chope le virrus !
    Java, JDBC, SQL, Oracle

    Specialiste Kamehameha des blagues-boulets

    Barman de la taverne

  13. #13
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Je confirme mon impression : synonyme (non officiel) de jointure externe (mais pas de preuve)
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  14. #14
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Après survol de l'article, il parait clair qu'une jointure INNER doit être le contraire d'une jointure OUTER ( externe ).

    N'ayant jamais entendu parler de jointure INNER, il n'est pas impossible que l'auteur se soit fourvoyé (OUTER ?)
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Points : 502
    Points
    502
    Par défaut
    En SQL Server

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM Table1 T1
    JOIN Table2 T2 ON T1.ID = T2.ID

    est la meme chose que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM Table1 T1
    INNER JOIN Table2 T2 ON T1.ID = T2.ID

  16. #16
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    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 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Effectivement JOINTURE OUVERTE est une mauvaise traduction de JOINTURE EXTERNE !

    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/ * * * * *

  17. #17
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Citation Envoyé par P'tit Jean
    Humm pourtant :

    http://www.phpinfo.net/articles/article_optimisation-mysql.html

    faire une recherche sur ouverte, faut croire qu'il y en a d'autre qui ont chope le virrus !
    Mais malheureusement ce n'est pas sur ce forum !

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

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

Discussions similaires

  1. pb jointure texture
    Par dweis dans le forum DirectX
    Réponses: 2
    Dernier message: 24/06/2003, 13h33
  2. Jointures en SQL
    Par Guizz dans le forum Langage SQL
    Réponses: 10
    Dernier message: 04/06/2003, 12h21
  3. Réponses: 14
    Dernier message: 17/03/2003, 18h31
  4. Jointures INNER et jointures classiques ???
    Par UbiK dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/09/2002, 10h29
  5. jointure renvois pas tous les enregistrements
    Par rayonx dans le forum Langage SQL
    Réponses: 7
    Dernier message: 29/08/2002, 12h51

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