Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie bekomme ich Details aus mehreren Tabellen?

Das Schlüsselwort INNER JOIN gibt Zeilen zurück, wenn es mindestens eine Übereinstimmung in beiden Tabellen gibt.

MySQL INNER JOIN-Klausel

Die MySQL INNER JOIN-Klausel gleicht Zeilen in einer Tabelle mit Zeilen in anderen Tabellen ab und ermöglicht es Ihnen, Zeilen abzufragen, die Spalten aus beiden Tabellen enthalten.

Die MySQL INNER JOIN-Klausel ist ein optionaler Teil der SELECT-Anweisung. Sie erscheint unmittelbar nach der FROM-Klausel.

Bevor Sie die MySQL INNER JOIN-Klausel verwenden, müssen Sie die folgenden Kriterien angeben:

Zuerst müssen Sie die Haupttabelle angeben, die in der FROM-Klausel erscheint. Zweitens müssen Sie die Tabellen angeben, die Sie mit der Haupttabelle verbinden möchten, die in der INNER JOIN-Klausel erscheinen. Theoretisch können Sie einem Tisch mit vielen Tischen beitreten. Für eine bessere Abfrageleistung sollten Sie jedoch die Anzahl der zu verbindenden Tabellen begrenzen. Drittens müssen Sie die Join-Bedingung oder das Join-Prädikat angeben. Die Join-Bedingung erscheint nach dem Schlüsselwort ON der INNER JOIN-Klausel. Die Join-Bedingung ist die Regel für übereinstimmende Zeilen zwischen der Haupttabelle und den anderen Tabellen.

Beispiel

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'