MySQL select / join usw.usf

Hallo zusammen!

Ich habe endlich auch mal angefangen, mich mit MySQL zu befassen. Nun ja, da stößt man natürlich schnell auf Fragen…
Ich habe diese ganze join-Geschichte noch nicht wirklich verstanden.
Aber hier mal ein konkretes Beispiel:

Ich habe zwei Tabellen, nennen wir sie mal „tab1“ und „tab2“.
In tab1 gibt es den Primärschlüssel „id“.
tab2 enthält im Wesentlichen Ergänzungen zu den Datensätzen in tab1. D.h. in tab2 gibt es ein Feld namens „ref“, das die Verbindung zu tab1 herstellt, indem es einen entsprechenden id-Wert speichert.

Ich möchte nun in einer Abfrage alle Felder aus tab2 auswählen und dazu jeweils noch einige Felder aus tab1, wo tab1.id=tab2.ref ist.

Also ich hoffe, das ist einiger Maßen verständlich.
Wäre toll, wenn ihr mein ein Bisschen Hilfe geben könnt!

Gruß
Andreas

Moin, Andreas,

Ich habe zwei Tabellen, nennen wir sie mal „tab1“ und „tab2“.
In tab1 gibt es den Primärschlüssel „id“.
tab2 enthält im Wesentlichen Ergänzungen zu den Datensätzen in
tab1. D.h. in tab2 gibt es ein Feld namens „ref“, das die
Verbindung zu tab1 herstellt, indem es einen entsprechenden
id-Wert speichert.

Jetzt zäumen wir den Gaul mal von vorne auf: tab2 kann beliebig viele Zeilen haben, die alle auf die gleiche Zeile in tab1 verweisen. Damit enthält nicht tab2 Ergänzungen zu tab1, sondern tab1 hält die Informationen, die für viele Zeilen in tab2 gleich sind und deshalb nicht redundant abgelegt werden sollen.

Ich möchte nun in einer Abfrage alle Felder aus tab2 auswählen
und dazu jeweils noch einige Felder aus tab1, wo
tab1.id=tab2.ref ist.

Select tab2.feld1, tab2.feld2, …, tab1.feld1, tab1.feld2
from tab1, tab2
where tab1.id=tab2.ref
order by irgendebbes

oder verbinde die Tabellen mit inner join, outer join, je nach Anforderung.

Gruß Ralf

Hi Ralf!

Vielen Dank für deine Antwort! Das war genau das, was ich brauchte!

Aber könntest du mir vielleicht auch noch mal schreiben, wie das ganze mit joins aussehen würde? Nur aus reinem Interesse…

Oder kennst du evtl. eine gute Internetseite, wo diese ganzen inner/outer joins mal erklärt werden? Komme damit nämlich irgendwie gar nicht klar.

Gruß
Andreas

Hallo Andreas,

versuche es doch einmal hier:

Ich hoffe, daß Dir diese Seite weiterhelfen kann.

Einen schönen Abend und viel Spaß mit MySQL!
Thomas

SQL-Übungsseite
Hi Andreas,
eine meiner Meinung nach sehr gute Übungsseite, vor allem für Einsteiger, für SQL findest du unter http://www.schulserver.hessen.de/darmstadt/lichtenbe…
schön unterteilt in diverse Lektionen, mit Übungen die direkt im Internet durchgeführt werden können, und im Notfall auch Tipps und Lösungen bereitstellen.
Kleiner Haken an der ganzen Sache, das Ding läuft noch auf einer veralteten mySQL-Version welche noch keine geschachtelten Select-Anweisungen unterstütz, was Lektion 5 leider undurchführbar macht.

Gruß Benjamin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Andreas,
eine meiner Meinung nach sehr gute Übungsseite, vor allem für
Einsteiger, für SQL findest du unter
http://www.schulserver.hessen.de/darmstadt/lichtenbe…
schön unterteilt in diverse Lektionen, mit Übungen die direkt
im Internet durchgeführt werden können, und im Notfall auch
Tipps und Lösungen bereitstellen.
Kleiner Haken an der ganzen Sache, das Ding läuft noch auf
einer veralteten mySQL-Version welche noch keine
geschachtelten Select-Anweisungen unterstütz, was Lektion 5
leider undurchführbar macht.

Gruß Benjamin

Super, vielen Dank. Die Seite scheint wirklich ziemlich gut zu sein. Werde mich demnächst mal ein Bisschen mehr damit befassen.

Gruß Andreas