Ich habe einige Tabellen: tableA (COLA1, cola2, cola3, cola4, cola5) tableB (colb1, colb2) TableC (colc1, colc2, colc3) tableA.cola2 bezieht sich auf tableB.colb1 und tableA.cola3 bezieht sich auf tableC.colc1 ich möchte zum abrufen von Daten aus allen diesen Tabellen, ich habe eine Frage habe, wie dies mit beitreten:Tabellen mit Subqueries
Select tableA.cola1, tableA.cola2, tableA.cola3, tableA.cola4, tableA.cola5, tableB.colb2, tableC.colc2, tableC.colc3
FROM tableA
INNER JOIN tableB ON tableA.cola2 = tableB.colb1
INNER JOIN tableC ON tableA.cola3 = tableC.colc1
WHERE tableA.cola5 = 'something'
So ist es möglich, diese Abfrage mit Unterabfragen zu schreiben statt BEITRETEN? und was wäre besser? Unterabfragen oder JOIN? Ein Freund von mir sagte mir, dass, wenn Sie große Tabellen haben, JOIN langsam ist und einen leistungsfähigen Computer benötigt, während Unterabfragen schneller sind und keinen leistungsfähigen Computer erfordern, um die Auswahl durchzuführen. Er sagte, es ist, weil Unterabfragen Ergebnisse basierend auf etwas wie Addition zurückgeben, und JOIN reutrn Ergebnisse basierend auf etwas wie Multiplikation (ich bin nicht gut in Englisch, so weiß ich nicht, wie das zu setzen, aber hoffe, Sie bekommen die Idee). Ich bin neu dazu und ich habe versucht zu googeln, kann das aber immer noch nicht verstehen. Würde irgendjemand bitte irgendwann meine Frage beantworten und mir diese Unteranfrage gegen JOIN-Sache erklären? Vielen Dank.
Die MySQL-Abfrage-Optimierer beide wahrscheinlich schließt sich behandeln und Unterabfragen gleich. Wenn Leistung ein Problem ist, stellen Sie einfach sicher, dass die verbundenen Spalten indiziert sind. – Owen