MySQL INNER JOIN
inner JOIN est utilisée pour renvoyer des lignes de deux tables qui remplissent une condition donnée.
Dans MySQL, INNER JOIN sélectionne toutes les lignes de deux tables participantes pour qu’elles apparaissent dans le résultat si et seulement si les deux tables remplissent les conditions spécifiées dans la clause ON. JOIN, CROSS JOIN et INNER JOIN ont une syntaxe équivalent. En SQL standard, ils ne sont pas équivalents. INNER JOIN est utilisé avec la clause ON, par contre CROSS JOIN n’utilise pas la clause ON.
Syntaxe:
SELECT colonne1, colonne2, ..., colonne_n FROM table_A INNER JOIN table_B ON table_A.colonneX = table_B.colonneX;

Exemple:
Prenons un exemple d’utilisation de la clause INNER JOIN pour voir comment elle fonctionne. Pour cela nous allons utiliser les tables « Clients » et « Commandes ».
La requête suivante sélectionne toutes les commandes effectuées par les clients:
SELECT Commandes.CommandeID, Clients.Nom FROM Commandes INNER JOIN Clients ON Commandes.ClientID = Clients.ClientID;
La clause INNER JOIN sélectionne toutes les lignes des deux tables tant qu’il existe une correspondance entre les colonnes. S’il y a des lignes dans la table « Commandes » qui n’ont pas de correspondance dans la table « Clients », ces commandes ne seront pas affichées!