article(s) dans votre panier VOIR

Tuto PHP/MySQL | Exemples de jointures complexes

  • Vidéo 140 sur 158
  • 4h43 de formation
  • 158 leçons

Un contenu flash devrait s'afficher ici. Votre navigateur ne comporte pas de plugin flash, ou il ne s'est pas correctement initialisé.

Vous pouvez télécharger le plugin flash depuis le site d'Adobe à l'adresse suivante : http://get.adobe.com/flashplayer/.

Pour accéder à la suite de cette formation, vous devez vous abonner.
previous
summary
resume
next
play
Exemples de jointures complexes
00:00 / 03:07
HD
fullscreen
Je m’abonne
à partir de 16,6 € / mois
  • Visionnage en ligne
  • Accès illimité à toutes nos formations
OU
J'achète uniquement
la formation
49,90€
  • Téléchargement + VOD à vie
  • Accès uniquement à cette formation

Sommaire de la formation

Détails de la formation

Pour mieux comprendre les différences entre les jointures simples et les jointures complexes, rien de tel que quelques exemples.

En utilisant l'interface Web phpMyAdmin, définissez la table categories composée de deux champs :

id_categorie de type int(11), auto incrémenté ;

nom de type text.

Et la table articles, composée de trois champs :

id_categorie de type int(11), auto incrémenté ;

titre de type text ;

catégorie de type int(11).

 

Ajoutez les données suivantes dans la table categories :

Id_categorie

nom

1

Windows 8

2

HTML5

3

Word 2013

4

WordPress

5

PhotoFiltre

Et ajoutez les données suivantes dans la table articles :

Id

titre

categorie

1

Accéder au menu de démarrage de l'ordinateur

1

2

Démarrer facilement les applications Modern UI et…

1

3

Feuille de styles ou attribut style

2

4

Un style CSS dans une balise

2

5

Formats et extensions

3

6

Modes d'affichage

3

7

Personnaliser les fichiers de WordPress

4

8

Créer une base de données

9

Ajouter des ombrages

Vous allez maintenant utiliser l'onglet SQL pour appliquer des requêtes SQL sur les tables categories et articles.

Commencez par définir une jointure simple sur les champs categorie de la table articles et id_categories de la table categories :

SELECT * FROM articles, categories
WHERE articles.categorie = categories.id_categorie

Exécutez cette requête. 

Voici le résultat. Vous remarquez que les articles d'id 8 et 9 ainsi que la catégorie 5 ne font pas partie des résultats. Ceci est "normal" puisqu'aucune correspondance n'existe entre les champs categorie de la table articles et id_categorie de la table categories.

Essayons la même requête, mais cette fois-ci en utilisant un INNER JOIN :

SELECT * FROM articles INNER JOIN categories
ON articles.categorie = categories.id_categorie;

Vous pouvez vérifier que le résultat est identique.

Essayons la même requête mais cette fois-ci en utilisant un LEFT JOIN :

SELECT * FROM articles LEFT JOIN categories
ON articles.categorie = categories.id_categorie;

Cette fois-ci, les enregistrements de la première table qui n'ont pas de correspondance dans la deuxième font partie des résultats.

Notre quatrième et dernier essai utilisera un RIGHT JOIN :

SELECT * FROM articles RIGHT JOIN categories
ON articles.categorie = categories.id_categorie;

Cette fois-ci, les enregistrements de la deuxième table qui n'ont aucune correspondance dans la première font partie des réponses.