Jointures avec MySQL

Explication par les exemples basée sur la structure ci-dessous :

Structure Client / Commande

Structure très simplifiée

SELECT
	idclient
FROM
	client,commande
WHERE
	client.idclient = commande.idclient


⇒ Seuls les clients qui ont une commande seront retournés.

Autre écriture :

SELECT 
	idclient 
FROM 
	client
INNER JOIN 
	commande
ON 
	client.idclient = commande.idcommande


SELECT
	idclient 
FROM 
	client
LEFT JOIN 
	commande
ON 
	client.idclient = commande.idclient


⇒ Retourne les clients qui ont une commande plus les clients (LEFT) sans commande.

SELECT
	idclient
FROM
	client
RIGHT JOIN
	commande
ON
	client.idclient = commande.idclient


⇒ Retourne uniquement les clients ayant une commande plus les commandes (RIGHT) sans client.

SELECT
	idclient
FROM
	client
FULL JOIN
	commande
ON
	client.idclient = commande.idclient


Retourne les clients ayant une commande, plus les clients sans commande, plus les commandes sans client.

FULL JOIN n'existe pas sous MySQL, elle est mentionnée ici à titre d'information.

Saisissez votre commentaire:
Si vous ne pouvez pas lire le code, téléchargez ce fichier .wav pour l'écouter.
 

Si cet article vous a été utile ou simplement si vous appréciez ce site, n'hésitez pas à me soutenir via Paypal ou en utilisant la bannière Amazon1) ci-dessous pour vos futurs achats, ça ne vous coûtera pas plus cher et ça soutiendra un peu ce site ;-)


1)
Ou ajoutez ce lien https://amzn.to/2ZRiKrq vers Amazon dans vos favoris ;-)
  • par fabrice