322 membres inscrits | 5 connectés | 74 sujet(s) sur le forum dont 363 post(s) | Mardi 2 décembre 2008 à 09h54
fleche Tutorial
Lecture du tuto

Chapitre 1: Les jointures

Qu'est-ce qu'une jointure?



Dans ce chapitre, nous allons apprendre quelque chose de fondamental dans les bases de données relationnelles: les jointures.
Si on dit qu'elles sont relationnelles, c'est pas pour rien.
En effet, vous pouvez faire des conditions dans vos requêtes SQL en incluant des tables.
Mais avant d'utiliser les jointures, je pense qu'il est important de savoir quand on peut l'utiliser.

Quand utiliser les jointures?



C'est une bonne question.
On va considérer qu'on a 2 tables: une simple table dico et une autre membre.

La table dico:
Code SQL:
CREATE TABLE dico(
nom VARCHAR(25),
definition TEXT,
id_membre INT)


La table membre:
Code SQL:
CREATE TABLE membre(
id INT PRIMARY_KEY AUTO_INCREMENT,
nom_membre VARCHAR(25),
citation VARCHAR(25))


Voilà, donc le id_membre de la table dico contient l'id du membre contenu dans la table membre.
Ce qu'on veut faire, c'est récupèrer (dans l'exemple) le nom du membre à partir de l'id du membre pour chaque définition.
Ici, ce serait pas trop possible puisque dans ma table dico, je n'ai pas le nom du membre mais seulement son id.

Et bien, c'est effectivement possible avec les jointures!
C'est ce que nous allons voir de suite.

Les jointures en pratique!



Voici la syntaxe générale:

Code SQL:
SELECT les_champs_a_recuperer FROM table1 JOIN table2 ON table1.champs=table2.champs


Comme vous le voyez c'est pas très compliqué.
Ce qui est après le ON est une condition et peut très bien être remplacé par > ou autre mais a généralement moins d'intêret à l'utilisation.

Voici comment faire dans notre exemple:

Code SQL:
SELECT nom_membre, nom, definition FROM dico JOIN membre ON dico.id_membre=membre.id LIMIT 0, 20


Cette requête va vous récupèrer les 20 premières définitions et va récupèrer le nom de membre de chacunes de ces définitions respectives.

sommaire