Verknüpfen mehrerer Tabellen in MySQL mit Inner Join
In MySQL können Sie mit der INNER JOIN-Anweisung Datensätze aus mehreren Tabellen basierend auf a kombinieren gemeinsame Spalte. Um einen Multi-Table-Join durchzuführen, können Sie die folgende Syntax verwenden:
SELECT columns FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column [...] INNER JOIN table_n ON table_n-1.column = table_n.column;
Stellen Sie sich das folgende Szenario vor: Sie haben vier Tabellen:
Sie möchten alle Produkte für einen bestimmten Benutzer (user_id = 7) und Hyperlinks für jedes Produkt mithilfe der entsprechenden URL aus dem abrufen Auflistungstabelle.
Ursprüngliche Abfrage:
SELECT * FROM orders INNER JOIN products_pricing ON orders.pricing_id = products_pricing.id INNER JOIN products ON products_pricing.product_id = products.id WHERE orders.user_id = '7';
Diese Abfrage gibt alle Produkte für den Benutzer mit der ID 7 zurück, enthält jedoch nicht die URL für jedes Produkt .
Überarbeitete Abfrage:
Sie können die URL für jedes Produkt angeben Fügen Sie der Auflistungstabelle einen weiteren INNER JOIN hinzu:
SELECT p.id, p.name, l.url, o.user_id, o.pricing_id FROM orders AS o INNER JOIN products_pricing AS pp ON o.pricing_id = pp.id INNER JOIN products AS p ON pp.product_id = p.id INNER JOIN listings AS l ON l.user_id = o.user_id WHERE o.user_id ='7' AND l.id = 233 AND l.url = 'test.com';
In dieser Abfrage haben wir:
Mit dieser überarbeiteten Abfrage können Sie die Produkte für erfolgreich abrufen angegebenen Benutzer, zusammen mit den entsprechenden URLs zur Verlinkung.
Das obige ist der detaillierte Inhalt vonWie kann man mehrere Tabellen in MySQL effizient verknüpfen, um verwandte Daten abzurufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!