Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Débutant
    Inscrit en
    février 2007
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : février 2007
    Messages : 283
    Points : 19
    Points
    19

    Par défaut Jointure entre des tables

    * Bonjour, *

    J’ai créé une table « etudiant » =>
    Code :
    1
    2
    3
    4
    5
    CREATE TABLE etudiant (
    IdEtudiant  number(5),
    nomEtudiant varchar(5),
    idProf number(5)
    )
    Et une table « Prof »
    Code :
    1
    2
    3
    4
    5
    6
    CREATE TABLE Prof (
    idProf  number(5),
    nomProf  varchar(5),
    PrenomProf  varchar(5),
    Matiere varchar(5)
    )
    Et j’ai inséré les données suivantes

    Code :
    1
    2
    3
    4
    5
    6
    7
    INSERT INTO Prof VALUES('1','test1','test1', 'math')
    INSERT INTO Prof VALUES('2','test2','test2', 'phy')
    INSERT INTO Prof VALUES('3','test3','test3', 's')
     
    INSERT INTO Etudiant VALUES('4','test1','1');
    INSERT INTO Etudiant VALUES('5','test2','2');
    INSERT INTO etudiant VALUES('6','test3','5');
    Mais quand je fais cette requête

    Code :
    1
    2
    3
    SELECT *
    FROM etudiant  et , Prof  p
    WHERE Et.Idprof = P.Idprof
    =>Il me donne deux enregistrements
    Et cette requete

    Code :
    1
    2
    3
    SELECT *
    FROM Etudiant  Et , Prof  P
    WHERE Et.Idprof (+)= P.Idprof
    => Me donne 3 enregistrements (avec des valeurs null pour les informations d étudiant)

    Code :
    1
    2
    3
    SELECT *
    FROM Etudiant  Et , Prof  P
    WHERE Et.Idprof = P.Idprof(+)
    => Me donne 3 enregistrements avec des valeurs nuls pour les informations de prof

    Est-ce que vous pouvez me dire c’est quoi la différence entre les 2 jointures (right, left) ? Et quand on les utilise au lieu d’utiliser la jointure normale ??

    Merci d'avance

  2. #2
    Expert Confirmé Sénior Avatar de mnitu
    Homme Profil pro Marius Nitu
    Ingénieur développement logiciels
    Inscrit en
    octobre 2007
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Nom : Homme Marius Nitu
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2007
    Messages : 4 580
    Points : 8 297
    Points
    8 297

    Par défaut

    Essayez de lire le tutoriel du SQLPro concernant les jointures.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •