wann where, wann join
-
hab heute ne prüfung geschrieben wo man nen sql befehl machen musste
alle haben das übern join gelöst
ich aber über ne where ...and ... and... and...sicherlich hat der join irgendwelche vorteile aber funktional kann man ein join doch auch mit wehere ...and ... and... erstzen oder?
-
Klar kann man aber man muss die Ausführungsgeschw. beachten.
JOIN könnte schneller sein.JOIN ist aber im Grunde etwas anderes als WHERE.
JOIN vergleicht Tabellen.
Wenn dann auch noch INNER, OUTER etc. kommt geht WHERE sicher auch nicht mehr.
-
hanswurstrecordZ schrieb:
sicherlich hat der join irgendwelche vorteile aber funktional kann man ein join doch auch mit wehere ...and ... and... erstzen oder?
Wenn du ein "WHERE a.id = b.id" oä. schreibst, dann ist das ein impliziter Inner Join. Lies mal ein bisschen in der Wikipedia oä. nach; nur weil du kein "JOIN" in deiner Abfrage stehen hast, heißt das noch lange nicht, dass kein Join stattfindet.
Dem RDBMS ist in der Regel ziemlich egal, ob da "A INNER JOIN B ON …" oder eine WHERE-Klausel steht, der Query-Plan wird normalerweise gleich aussehen.
Aber wenn du joinst, dann darfst du das ruhig auch so hinschreiben; tut nicht weh.