Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment obtenir des détails à partir de plusieurs tables ?

Le mot clé INNER JOIN renvoie des lignes lorsqu'il existe au moins une correspondance dans les deux tables.

Clause MySQL INNER JOIN

La clause MySQL INNER JOIN fait correspondre les lignes d'une table avec les lignes d'autres tables et vous permet d'interroger les lignes contenant des colonnes des deux tables.

La clause MySQL INNER JOIN est une partie facultative de l'instruction SELECT. Il apparaît immédiatement après la clause FROM.

Avant d'utiliser la clause MySQL INNER JOIN, vous devez spécifier les critères suivants :

Tout d'abord, vous devez spécifier la table principale qui apparaît dans la clause FROM. Deuxièmement, vous devez spécifier les tables que vous souhaitez joindre à la table principale, qui apparaissent dans la clause INNER JOIN. Théoriquement, vous pouvez joindre une table avec plusieurs tables. Cependant, pour de meilleures performances de requête, vous devez limiter le nombre de tables à joindre. Troisièmement, vous devez spécifier la condition de jointure ou le prédicat de jointure. La condition de jointure apparaît après le mot-clé ON de la clause INNER JOIN. La condition de jointure est la règle de correspondance des lignes entre la table principale et les autres tables.

Exemple

SELECT  c.cid, c.course_desc, user.name FROM AM_COURSE c
INNER JOIN AM_INTER inter on inter.cid = c.cid
INNER JOIN AM_USER user on user.uid = inter.uid
INNER JOIN AM_TIMETABLE tt ON inter.cid = tt.UserId
WHERE c.Name = 'coursename' AND tt.Date_Time BETWEEN '2011-08-12' AND '2012-08-12'