Ilja: schwierige Abfrage MySQL

Beitrag lesen

moin,

Ich sehe zwar auf den ersten Blick kein Fehler, jedoch wird er nicht sehr kompliziert sein.

ein komma in der projektion ist am ende zuviel und die group by klausel würde so nicht funktionieren. zum einen nicht, weil sie vor dem ORDER BY stehen muss, zum anderen nicht weil du spalten ausgeben würdest, über die nicht gruppiert wurde oder die keine aggregat-funktion benutzen. mysql mag dort zwar keine fehlermeldung geben, aber inhaltlich würde es nicht mehr paassen.

Es verknüpft 2 Tabellen, wenn du das meinst... das muss es auch, sonst würde es nicht funktionieren. Mit "JOIN-Kram verzichten", war das explizite JOIN Statement mit ON Klausel gemeint.

das ist so nicht richtig. ein join hat nichts damit zu tun, ob ich die explizite schreibweise benutze oder nicht. du joinst in gleicher weiser, machst es aber unübersicherlicher.

Jedoch werden hier beide Tabellen anders verknüpft. Wenn hier eine Tabelle leer (bzw Bedingung nicht erfüllt) ist, so erscheint auch kein Result (kann positiv und negativ sein, aber in diesem Fall erscheint es mir sinnvoll).

auch das hat nichts mit deiner impliziten schreibweise zu tun. die tabellen werden bei der impliziten oder expliziten schreibeweise ganz genauso verknüpft, zumindestens was den INNER JOIN angeht. letzlich ist es sogar so, dass das dbms im ausführungsplan die bedinungen nach der ON klausel wieder in die WHERE klausel zieht.

Diese Art Tabellen zu verknüpfen war die erste Art die ich gelernt hab, vermutlich halte ich sie deshalb für die einfachste.

das habe ich auch, zummal oracle die explizite schreibweise erst ab 9i unterstützt hat. es hat aber meiner meinung nach nur nachteile und keine vorteile, die implizite schreibweise zu benutzen. es macht es einfach unübersichtlicher.

Der Punkt ist: Man gibt beide Tabellen als Quelle an und verknüpft sie beim WHERE direkt "a.ID = b.ID". Danach kann man mit beiden Tabellen arbeiten als währe es eine, das ist bei allen anderen Methoden nicht so einfach.

auch diese aussage ist nicht richtig, wobei ich der fairness fragen sollte, was genau es den bei der expliziten schreibweise schwieriger macht ?

Ilja