RECHERCHE

Plan du site

BOURSE

 

RUBRIQUES

 
 TUTORIELS 
Les jointures en langage SQL
Savoir interroger une table, c'est bien, obtenir une sélection de tuples à partir de deux tables, c'est encore mieux : introduction aux jointures.  (18 décembre 2001)
 

Pages 1 | 2

Choisir ses types de données, créer sa table, rajouter ou effacer des enregistrements, extraire des tuples d'une table, tout cela, nous l'avons précédemment évoqué.

Jusqu'à maintenant, nos "SELECT" se limitaient à ramener les tuples d'un seule table, ce qui, vous vous en doutez, est loin d'exploiter l'adjectif  "relationnelles" que l'on attribue aux bases de données que nous étudions.

L'objectif de ce tutoriel est de découvrir quelques-uns des moyens mis à notre disposition pour récupérer et croiser des informations à partir de tables différentes.

Suivre les bonnes clefs, comme des liens hypertexte.

Un titre peut-être un peu énigmatique, mais qui résume bien le procédé à suivre en cas de jointures. Il va s'agir de repérer (surtout si vous n'êtes pas le concepteur du schéma de la base) les éléments communs entre plusieurs tables afin d'établir les croisements opportuns.

Voici les tables sur lesquelles nous allons nous appuyer aujourd'hui. Il s'agit de formations, et d'experts, ce sont les intervenants :

(Table formations)
id_formation
nom_formation
id_expert
1
C#
2
2
Cold Fusion
3
3
Web Services
5
4
Php
6
5
ADO.NET
5
6
XML

(Table experts)
id_expert
nom_expert
1
James
2
Lars
3
Kirk
4
Jason
5
Peter
6
Jessie

Nous avons donc deux tables, "formations" et "experts" qui ont respectivement comme clefs primaires "id_formation" et "id_expert". Comme nous le disions plus haut, ces clefs primaires identifient de manière unique ces formations et ces experts : deux experts peuvent porter le même prénom, mais certainement pas le même identifiant.

A partir de là, comment faire communiquer ces deux tables ?
On peut en effet avoir besoin par exemple de discerner quelles formations correspondent à quels experts où encore parmi les experts disponibles, quels sont ceux qui ne sont pas attribués à une formation...

Ici, le point commun entre ces deux tables est évident, il s'agit de l'identifiant de l'expert. Ce champ est en effet à la fois clef primaire de la table "experts" et clef étrangère de la table "formation". Ce champ va nous permettre d'établir une liaison entre ces deux tables. Voyons comment procéder.

Note : les requêtes suivantes se basent sur MySQL 3.23.40. Nous vous rappelons que pour installer une configuration de test de manière simple (Php4, MySQL et PhpMyAdmin), vous pouvez télécharger "Easyphp".

Pages 1 | 2

 
[ Arnaud GadalJDNet
 
Accueil | Haut de page
 
 

 

 
 
[an error occurred while processing this directive]