• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

mehere tabellen ohne join

  • Ersteller Ersteller FoXMorayn
  • Erstellt am Erstellt am
F

FoXMorayn

Guest
Hallo,

mir ist nun öfters der fall aufgetaucht, dass jemand mehere tabellen, die ich mit join verbinden würde (wie es hier auch sehr schön beschrieben ist: Mit JOIN zwei Tabellen zu einer virtuellen Tabelle kombinieren), einfach mit
Code:
select from 1,2,3 where 1.a = 2.b and 2.a = 3.c
verknüpft und ausgibt. nach meiner logig und wie ich auch in der praxis bemerkt habe, kommt es dabei idr. zu fehlern.
nun präsentiert mir aber ein programmierer, mit knapp 10jahren erfahrung..., ein script mit smarty template und und und, aber auch ohne ein einziges join, obwohl die daten auf X tabellen verteilt sind und per keys verknüpft werden (gibs da ein fachwort für?).

es läuft nun darauf hinaus, dass ich alle sql abfragen prüfen und ggf. ändern werde.
möchte aber auch einmal die meinung der cummunity hier zu diesem thema hören, da ich nicht soviel erfahrung mit sql habe.

kann ein eine datenbankstruktur, wie oben angedeutet, ohne join sinnvoll funktionieren?


gruß,
foxmorayn
 
Zuletzt bearbeitet von einem Moderator:
Ein SQL-Statement ist keine Datenbankstruktur.
Ein SQL-Statement lädt Daten auf Grundlage der Datenbankstruktur UND abhängig davon was Du eigentlich auslesen möchtest.
Folglich kann man nicht pauschal sagen, was sinnvoll ist und was nicht - je nachdem was Du eigentlich auslesen möchtest kann es sinnvoll sein oder nicht.
 
Das nennt sich meines Wissens Theta JOIN und ANSI JOIN. Den Hintergrund kann ich dir leider spontan nicht erklären.

SQL Join syntax: Theta vs ANSI

Edit: Hehe, dieser Thread enthält genau das, was ich auch eben gedacht habe: Von Theta-Style wird abgeraten, aber keiner weiß (hinsichtlich der Performance) so wirklich wieso. :)

Edit 2: Also, was du da machst, ist afaik in jedem Fall ein JOIN, auch wenn du die Schlüssel ausschließlich mit "=" vergleichst. Ich würde die Queries umschreiben. Vor allem auch, weil das übt.
 
Zuletzt bearbeitet:
Zurück
Oben