Erklären JOIN vs. LEFT JOIN-und WHERE-Bedingung der Leistung Vorschlag im detail

In dieser Kandidat beantworten es wird geltend gemacht, dass JOIN ist besser als LEFT JOIN unter einigen Umständen mit einigen WHERE Klauseln, weil es die nicht zu verwechseln ist der query-Planer und ist nicht "sinnlos". Die Behauptung/Vermutung ist, dass es sollte das irgendjemandem offensichtlich sein.

Bitte weiter erläutern oder stellen link(s) für die weitere Lektüre.

Besser? Sie dienen einem anderen Zweck. JOIN ist ein inner join, LEFT JOIN ist ein outer-join (die gleiche wie LEFT OUTER JOIN). Je nach Ihren Absichten Sie entweder eine äußere oder eine innere Verknüpfung. Die WHERE-Klausel sollte nicht verwendet werden, für join-Bedingungen. Es sollte verwendet werden für andere Kriterien, ie. - Filterung.
Ich lese die Antwort "Da das LEFT JOIN (mit DENEN) ist effektiv ein INNER JOIN ist, verwenden Sie einfach einen INNER JOIN statt." Ich bin mir nicht sicher, wie "verwirrend" ist es zu einer [bestimmten] query planner, aber es ist weniger als ideal für die menschliche [gelesen: mein Verbrauch, IMOHO. (Das gleiche kann gesagt werden für die Verwendung einer CROSS-JOIN, wenn eine INNERE genügen würde, zB.)
Ein left join mit where-Klausel, VERWENDET DIE ÄUßEREN verknüpfte TABELLE ist effektiv ein inner join. Allerdings, wenn die where-Klausel nicht mit den äußeren verknüpfte Tabelle, Nein, das ist nicht der Fall.

InformationsquelleAutor Dwayne Towell | 2014-07-21

Schreibe einen Kommentar