Votre question

[résolu]Explication sur les jointures en SQL

Tags :
  • MySQL
  • Programmation
Dernière réponse : dans Programmation
10 Juin 2006 22:12:13

Bonjour a tous et a toutes...

Je suis en train de développer un forum sympa mais qui a mon gout contient trop de requete SQL (j'emploi pour le moment des mysql_query() de partout)
Or avec le temps, je me rend compte que le langage SQL est bourré de petits plus qui peuvent supprimer pas mal de requete (dernièrement j'ai par exemple remarqué que 3 mysql_query('UPDATE xxxx'); pouvaient etre remplacés par 1 seul mysql_query('UPDATE table1, table, SET table1.colonne=0 , table2.colonne=53');)

J'ai entendu parlé des jointure (externe, naturelle etc etc)...Mais aucun des tuto ne m'a vraiment éclairé sur l'utilité et le fonctionnement de ces jointures (j'ai fais un tours sur developpez.com et nexen)

Quelqu'un aurait-il les compétences nécessaire en la matière pour m'expliquer a quoi ça sert, ce que ça fait et comment ça marche?

Merci d'avance de votre attention ;) 

Autres pages sur : resolu explication jointures sql

10 Juin 2006 23:29:33

Bha écoute j'ai bouffé du SQL pendant 2 ans à l'IUT, donc je me permets de te répondre.....


Une jointure sert à joindre deux table en fait ( mouai génial mon explication ...) Bon je vais essayer de te trouver des exemples :

Alors voila par exemple tu as deux tables : commune (id , nom , nb_habitants , etc ..... )
une autre table personne(id,id_commune,nom,prenom,age,sexe,etc....)


ET que tu veuilles afficher les personnes, et le nombre d'habitants ou le nom de la commune correspondant à ces personnes : bha tu fais une union des tables :

SELECT * FROM personne INNER JOIN commune ON commune.id = personne.id_commune

voila en fait cette requete va regrouper la table commune et personne en une même requete.

Apres tu as différente manière d'unir deux table ou plusieurs tables.

NATURAL JOIN :

Dans l'exemple ci dessus si dans la table commune je renomme mon champs id en id_commune ; la requete sql devient : SELECT * FROM personne NATURAL JOIN commune

Voila comme tu peux le voir le SQGBD est intelligent et quand tu ne précises pas les champs sur lesquels joindre les table bha il regarde ceux qui ont le même nom et il fait la jointure sur ces champs....


Voila si tu veux plus de précision dit moi le j'essairais de retrouver mes cours et je te les enverai (enfin si je les retrouves....)
11 Juin 2006 11:04:49

Ok merci beaucoup de ta réponse rapide...
Le temps de finir un petit truc sur le forum et je test tout ça ^^
11 Juin 2006 19:36:18

Parfait nickel chrome...Tes explication+le site de laltruiste+mes tests m'ont beaucoups servi et je sais plus ou moin sutilier tous les type de jointures

@++
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS