Actualites | Forum |Archives
Le magazine des décideurs et webmasters qui gagnent !
Inscription | Livre d'or | Plan du site | 15 visiteurs actifs
   
A la Une
Actualité
Dossiers
Communiqués
Coin Technique
Agenda des salons
Emploi
Echange de liens

Archives
Sélection
Expérience qui parle
Internet quotidien
Tous les dossiers

Forum
Forum SAM-MAG

Guides
Check-list de la promotion des sites
Promouvoir et référencer les sites web

Contact
Nous contacter
Newsletter
La protection des données personnelles


 
  Utilisation des jointures dans les requêtes SQL
Dossier "SAM l'Informaticien" du 30 octobre au 12 novembre 2000 par Daniel Lucazeau

a jointure est une opération permettant de combiner des informations venant de plusieurs tables.

On peut joindre jusqu'à 256 tables, mais le nombre de tables utilisées dans les jointures est souvent largement inférieur à 256 ! Dès que l'on spécifie plusieurs tables dans la clause FROM de la requête, on effectue une jointure. SQL ne sait pas tout seul comment faire cette jointure, nous devons donc bien le lui spécifier. D'ailleurs si on ne précise pas de condition de sélection, le résultat obtenu sera le produit cartésien des tables indiquées. Cette condiion de sélection s'effectue naturellement dans la clause WHERE

Equi-jointure

La jointure de deux tables sur une colonne commune s'appelle une équi-jointure. Par exemple trouver les commandes d'un client, les deux tables ont la colonne commune qui est "code client", une commande n'appartient qu'à un client - en général :-). Ce type de jointure provient d'une relation 1-n lors de la conception, c'est à dire dans notre exemple:
(1 client - n commandes).
SELECT * FROM tabCli, tabCom WHERE tabCli.numCom = tabCom.numCom
Il faut préfixer numComm du nom de sa table d'origine pour que SQL ny trouve pas d'ambiguïté.

Remarque : c'est là que l'on se rend compte de la nécessité de bien construire sa base et donc de bien la concevoir. Si cette étape est bien faite toutes les équi-jointures vont être évidentes à écrire.

Jointure d'une table à elle-même

Il est parfois utile de joindre une table sur elle-même. Par exemple l'utilisation de catégories et de sous-catégories ne donnent pas lieu à la construction de deux tables mais plutôt à l'existence d'une colonne supplémentaire dans la table qui donne les cas échéant l'identifiant de la catégorie "mère". Par exemple, pour obtenir toutes les catégories avec leur sous-catégorie à partir de la table tabCat suivante :

id
nom
idMere


SELECT tabCat.nom, tabCatMere.nom FROM tabCat, tabCat AS tabCatMere WHERE tabCatMere.id=tabCat.idMere

Nous sommes obligés de renommer l'une des deux tables pour que SQL sache de quel identifiant "id" on parle. La sélection a lieu ici sur toutes les lignes de la table dont l'identifiant de la colonne "idMere" a un équivalent dans la colonne "id" quelque part dans la table, ce qui correspond à notre définition de sous-catégorie.

Daniel Lucazeau
@jornet.com
Chef de projet Internet
Développeur informatique

Tous droits réservés - Reproduction même partielle interdite sans autorisation préalable

 
 
Google
 
Web www.sam-mag.com
 

Copyright © ACORUS 2004. All Rights Reserved

- Sam-Mag.com Referencement-Sur-mesure - Referencer-Site-Web.com
Visibilite-Internationale.com - Referencement-Immobilier.net