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.

  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

  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

  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 ?

  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.

  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).

  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

  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.

  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.

  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

  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.

  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 !

  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)

  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 ?)

  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 917
    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 917
    Points : 51 693
    Points
    51 693
    Billets dans le blog
    6
    Par défaut
    Effectivement JOINTURE OUVERTE est une mauvaise traduction de JOINTURE EXTERNE !

    A +

  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 !

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

Discussions similaires

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

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