xterminator.org

Je vous propose des astuces sur le développement web, l'environnement windows, des avis sur du hardware ou des jeux vidéos...



Les jointures externes avec LEFT OUTER JOIN

Mise à jour le 01/11/2011

A quoi sert une jointure ?

Joindre plusieurs tables permet de récupérer des informations "étendues" dans ces dernières.

Mise en situation

Je possède une table clients et une table commandes.
L'objectif final est d'avoir les informations de la commande et du client associées en une seule requête.

Etape intermédiaire : Séléction des infos de la commande

			SELECT idCommande, dateCommande, idClient, prix
			FROM commandes
			WHERE idCommande = 1

On a les infos de la commande, mais pas celle du client, si ce n'est idClient

Etape finale : Jointure de la table clients

			SELECT co.idCommande, co.dateCommande, co.idClient, co.prix, cl.nom, cl.prenom, cl.adresse, cl.telephone
			FROM commandes co
			LEFT OUTER JOIN clients cl ON co.idClient = cl.idClient
			WHERE co.idCommande = 1

J'ai volontairement surnommé les tables avec co et cl (commandes et clients) afin de raccourcir la requête.

Il est indispensable d'avoir un champ id unique dans chaque table (ici idClient et idCommande) pour permettre ce genres d'opérations le plus simplement du monde.

Documentez-vous : developpez.com