Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/05/2011, 12h00   #1
Membre éprouvé
 
Avatar de Destiny
 
Inscription : février 2005
Messages : 716
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 716
Points : 494
Points : 494
Par défaut Liaison simple requête

Bonjour,

J'aimerais juste savoir quelque chose concernant les requêtes SQL.

Lors d'une liaison on peut faire:

Code :
SELECT * FROM matable LEFT OUTER JOIN matable2
ou
Code :
SELECT * FROM matable RIGHT OUTER JOIN matable2
Mais comment savoir quelle table est à droite et quelle table est à gauche?
J'ai jamais compris si il fallait mettre right ou left... (right c'est la table qui envoie la clé primaire?)

C'est un peut bête comme question mais j'aimerais bien avoir une explication claire.

Merci de partager vos connaissances!!
Destiny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 13h51   #2
Modérateur
 
Avatar de Chtulus
 
Homme Cédric
Cherche à comprendre
Inscription : avril 2008
Messages : 2 263
Détails du profil
Informations personnelles :
Nom : Homme Cédric
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Cherche à comprendre

Informations forums :
Inscription : avril 2008
Messages : 2 263
Points : 4 421
Points : 4 421
Envoyer un message via MSN à Chtulus Envoyer un message via Skype™ à Chtulus
Bonjour,

SELECT ...
FROM   <table gauche>
       LEFT | RIGHT | FULL OUTER JOIN <table droite 1>
            ON <condition de jointure>
       [LEFT | RIGHT | FULL OUTER JOIN <table droite 2>
            ON <condition de jointure 2>]
En cherchant un peu, ici... Surtout les exemples/explications qui suivent la syntaxe donnée.

Si ce n'est toujours pas clair, hésitez pas !

__________________
- De quelque manière qu'on s'y prenne on s'y prend toujours mal -
-Sigmund Freud-

Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
Tous les cours Office

Chtulus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 13h55   #3
Membre Expert
 
Inscription : janvier 2010
Messages : 1 084
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 1 084
Points : 1 573
Points : 1 573
Bonjour

en fait c'est tout bete :
La table de droite, c'est celle qui est à droite, et la table de gauche, celle qui est à gauche...

Cela s'entend dans la requete elle même, par rapport au mot clef JOIN :

Code SQL :
1
2
3
4
 
SELECT *
FROM TableGauche
JOIN TableDroite

LEFT OUTER JOIN Renvoie les lignes de la table de gauche pour lesquelles la condition de jointure n'est remplie pour aucune ligne de la table de droite. Les colonnes de la table de droite sont alors toutes à NULL

RIGHT OUTER JOIN, c'est l'inverse, donc en fait
Code SQL :
1
2
3
4
5
 
SELECT *
FROM TableA
LEFT OUTER JOIN TableB
    ON ...

est équivalent à

Code SQL :
1
2
3
4
5
 
SELECT *
FROM TableB
RIGHT OUTER JOIN TableA
    ON ...

Enfin, FULL OUTER JOIN renvoie les lignes des tables de gauche ET de droite pour lesquelles il n'existe pas de ligne dans l'autre table vérifiant la condition de jointure
aieeeuuuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h02.


 
 
 
 
Partenaires

Hébergement Web