Sauriez-vous m'expliquer cette chaine sql svp

beegeezzz Messages postés 152 Date d'inscription mardi 4 novembre 2008 Statut Membre Dernière intervention 10 avril 2017 - 29 janv. 2009 à 16:01
Supra3000 Messages postés 159 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 8 janvier 2010 - 29 janv. 2009 à 17:54
Salut tout le monde,

Dans une heure je suis partie pour mon examen et je ne comprends pas quelque chose :
SELECT media.id, detail.ordre & " : " & media.titre & " - " & media.duree FROM  media LEFT JOIN (liste RIGHT JOIN detail ON liste.id detail.ref_liste) ON detail.ref_media media.id WHERE liste.id = 1 ORDER BY ordre

Sauriez-vous m'expliquer svp ?

Voici les tables concernées :

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /><title>detail</title><caption> detail </caption>----
id |ref_liste |ordre |ref_media |----
2, kevin!, 1, Garfield 2 (DivX), ----
76, kevin!, 2, Another Day in the clouds (Electro), ----
77, kevin!, 3, Garfield 2 (DivX), ----
78, kevin!, 4, Zeus, le tout puissant (Prout), ----
79, kevin!, 5, Comment apprendre à se taire (eBooks), ----
80, Otto Von Bismark, 1, Entrer dans la matrice (eBooks), ----
81, Dédé, 1, Comment construire une maison en étudiant (eBooks), ----
82, FabKe, 1, Flamands, Wallons, comment s'entendre (eBooks), ----
83, Salv-Ice, 1, Linux, le guide ultime (eBooks), ----
84, Gobotom, 1, Comment apprendre à se taire (eBooks), ----
85, L G M, 1, DsX quand tu nous tien (eBooks), ----
86, MaSiyal, 1, SpiderMan (video), ----
87, Ruby, 1, Police et positivisme (eBooks), ----
89, Maja, 1, Sniper - Traits pour traits (musique), ----
90, Maja, 2, Garfield 2 (DivX), ----
91, Maja, 3, test Deux (musique), ----
92, Maja, 4, Prout 2, le retour (video), ----
93, Maja, 5, SpiderMan (video), ----
94, Maja, 6, A moi (video), ----
95, Maja, 7, Zeus, le tout puissant (Prout), ----
96, Maja, 8, Another Day in the clouds (Electro), ----
97, Maja, 9, fdsfsf (musique), ----
98, Maja, 10, Linux, le guide ultime (eBooks), ----
99, Maja, 11, Comment construire une maison en étudiant (eBooks), ----
100, Maja, 12, Flamands, Wallons, comment s'entendre (eBooks), ----
101, Maja, 13, Entrer dans la matrice (eBooks), ----
102, Maja, 14, Comment apprendre à se taire (eBooks), ----
103, Maja, 15, Police et positivisme (eBooks), ----
104, Maja, 16, DsX quand tu nous tien (eBooks), <tfoot></tfoot>

<meta http-equiv ="Content-Type" content= "text/html;charset=UTF-8" /><title>liste</title><caption> liste </caption>----
id |nom |----
1, kevin!, ----
11, Otto Von Bismark, ----
12, Dédé, ----
13, FabKe, ----
14, Salv-Ice, ----
15, Gobotom, ----
16, L G M, ----
17, Maja, ----
18, MaSiyal, ----
19, Ruby, <tfoot></tfoot>

<meta http-equiv ="Content-Type" content="text/html;charset=UTF-8" /><title>media</title><caption>media</caption>----
id |titre |nomfichier |duree |ref_categorie |----
2, Sniper - Traits pour traits, sniper, 1:20:00, musique, ----
4, Garfield 2, garfield2, 1:40:00, DivX, ----
6, Prout 2, le retour, prout.mpg, 1:01:01, video, ----
7, test Deux, test.doc, 1:20:36, musique, ----
8, SpiderMan, spider.avi, 1:30:00, video, ----
9, A moi, amoi, 0:00:00, video, ----
15, Zeus, le tout puissant, fdgdfgfdgdfg, 0:00:00, Prout, ----
16, Another Day in the clouds, Dossier/album, 0:00:00, Electro, ----
18, fdsfsf, dfssdf, 0:00:00, musique, ----
22, Linux, le guide ultime, linuxGuide.pdf, 0:00:00, eBooks, ----
23, Comment construire une maison en étudiant, construireEtudier.pdf, 0:00:00, eBooks, ----
24, Flamands, Wallons, comment s'entendre, belgique.pdf, 0:00:00, eBooks, ----
25, Comment apprendre à se taire, seTaire.pdf, 0:00:00, eBooks, ----
26, Entrer dans la matrice, MatrixEnterGuide.pdf, 0:00:00, eBooks, ----
27, Police et positivisme, PolicePositive.pdf, 0:00:00, eBooks, ----
28, DsX quand tu nous tien, dsx.pdf, 0:00:00, eBooks, ----
29, A moi, amoi, 0:00:00, video, <tfoot></tfoot>

je ne comprends pas, quand on dis right join, on prends quels enregistrement (on prend tous les enregistrements de quelle table ?)

Idem pour le left join.

Un tout grand merci d'avance.

beegeezzz

1 réponse

Supra3000 Messages postés 159 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 8 janvier 2010 2
29 janv. 2009 à 17:54
LEFT JOIN : je joins sur la gauche
RIGHT JOIN : je joins sur la droite

Ce qui veut dire en gros que la jointure, comme bcp de choses suit un ordre précis

De gauche à droite

pour essayer d'être assez clair :

Imaginons que tu aies 3 tables à joindre

La table principale => table 1 et table 2

Que grâce à table 1 (et seulement cette table) tu peux joindre les infos de table 2.

Si tu essaies de joindre en premier table 2 dans ta requête, eh bien cela ne fonctionnera pas. Donc en la mettant sur la gauche.

SELECT * FROM `table_principal`
LEFT JOIN `table1` ON (instruction)
LEFT JOIN `table2` ON (instruction)

=> OK
=> Ordre de gauche à droite : table_principal, table1, table2

SELECT * FROM `table_principal`
LEFT JOIN `table2` ON (instruction)
LEFT JOIN `table1` ON (instruction)

=> Marchera pas
=> Odre de gauche à droite : table_principal, table2, table1

SELECT * FROM `table_principal`
RIGHT JOIN `table2` ON (instruction)
LEFT JOIN `table1` ON (instruction)

=> OK
=> Ordre de gauche à droite : table_principal, table1, table2

Sinon, tu as INNER JOIN.

Bonne continuation
0
Rejoignez-nous