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

    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
    Ingénieur développement logiciels
    Inscrit en
    octobre 2007
    Messages
    4 667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 667
    Points : 9 193
    Points
    9 193

    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
  •