Mysql
 sql >> Database >  >> RDS >> Mysql

come ottenere i dettagli da più tabelle?

La parola chiave INNER JOIN restituisce righe quando è presente almeno una corrispondenza in entrambe le tabelle.

Clausola MySQL INNER JOIN

La clausola MySQL INNER JOIN confronta le righe di una tabella con le righe di altre tabelle e consente di eseguire query su righe che contengono colonne di entrambe le tabelle.

La clausola MySQL INNER JOIN è una parte facoltativa dell'istruzione SELECT. Appare subito dopo la clausola FROM.

Prima di utilizzare la clausola MySQL INNER JOIN, devi specificare i seguenti criteri:

Innanzitutto, devi specificare la tabella principale che appare nella clausola FROM. In secondo luogo, devi specificare le tabelle che vuoi unire con la tabella principale, che appaiono nella clausola INNER JOIN. In teoria, puoi unirti a una tabella con molte tabelle. Tuttavia, per migliorare le prestazioni delle query, è necessario limitare il numero di tabelle da unire. In terzo luogo, è necessario specificare la condizione di unione o il predicato di unione. La condizione di unione viene visualizzata dopo la parola chiave ON della clausola INNER JOIN. La condizione di unione è la regola per la corrispondenza delle righe tra la tabella principale e le altre tabelle.

Esempio

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'