Tigerchen: JOIN über 5 Tabellen mit MySQL

'tagchen

sorry für die dumme frage, aber egal wie ichs versuch das krieg ich ned hin
ich versuch 5 tables zu JOIN`en

vorhanden sind also 5 tables und es soll sowohl INNER JOIN
als auch LEFT OUTER JOIN und RIGHT OUTER JOIN verwendet werden.

Ich hab keinen blassen schimmer wie ich das anstellen soll,
weder von seiten des syntax,  und auch nicht
welche tabelle in welcher INNER oder RIGHT bzw. LEFT Joinen soll.

Bitte um einen query mit RIGHT, LEFT und INNER Join.
(Soll in ein Schulreferat eingebaut werden)

Tausend Dank!!
Tigerchen

Habe mal versuchsweise 5 tables angelegt.
Vielleicht helfen sie ja etwas, vielleicht auch nicht...
Einige id gibt es in jeder Tabelle, vielleicht lässt sich damit
ein Beispiel machen....

mysql> SELECT * FROM t1;
+----+---------+
| id | name    |
+----+---------+
|  1 | Max     |
|  2 | Karl    |
|  3 | Philipp |
|  4 | Robby   |
|  5 | Tony    |
|  6 | Norbert |
|  7 | Alex    |
|  8 | Richard |
|  9 | Lucas   |
| 10 | Chris   |
+----+---------+
10 rows in set (0.00 sec)

mysql> SELECT * FROM t2;
+----+--------+
| id | name   |
+----+--------+
|  4 | Jacque |
|  5 | Liz    |
|  6 | Anna   |
|  7 | Kate   |
|  8 | Angela |
|  9 | Tina   |
+----+--------+
6 rows in set (0.00 sec)

mysql> SELECT * FROM t3;
+----+-----------+
| id | name      |
+----+-----------+
|  5 | Thomas    |
|  6 | Nina      |
|  7 | Dominique |
|  8 | Olga      |
+----+-----------+
4 rows in set (0.00 sec)

mysql> SELECT * FROM t4;
+----+----------+
| id | name     |
+----+----------+
|  6 | Inge     |
|  7 | Natascha |
|  8 | Klaus    |
+----+----------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM t5;
+----+------+
| id | name |
+----+------+
|  7 | Foxy |
|  8 | Paul |
+----+------+
2 rows in set (0.00 sec)

  1. hi

    sorry für die dumme frage, aber egal wie ichs versuch das krieg ich ned hin
    ich versuch 5 tables zu JOIN`en

    beschreib doch mal, wie die Ausgabe aussehen soll.

    Gruß
    Reiner

    1. 'tagchen Reiner

      beschreib doch mal, wie die Ausgabe aussehen soll.

      Ist völlig egal, hauptsache der syntax wird veranschaulicht
      da ich noch nie 5 tables mit JOIN vereinte (maximal nur immer 2)

      und es soll ausserdem ein paar NULL Felder oder so geben
      die von den LEFT und RIGHT JOIN kommen so dass man klar sieht
      was passiert mit den JOINs und auch was der INNER JOIN macht

      Danke
      Tigerchen

      1. hi,

        beschreib doch mal, wie die Ausgabe aussehen soll.

        Ist völlig egal, hauptsache der syntax wird veranschaulicht
        da ich noch nie 5 tables mit JOIN vereinte (maximal nur immer 2)

        eben nicht völlig egal.
        Abgesehen, daß ich Deine Tabellen für unsinnig halte, weil nur Namen drinstehen, aus denen aber nicht hervorgeht, wo die Unterschiede der Personen liegen (z.B. Kunde, Mitarbeiter, ...).

        und es soll ausserdem ein paar NULL Felder oder so geben
        die von den LEFT und RIGHT JOIN kommen so dass man klar sieht
        was passiert mit den JOINs und auch was der INNER JOIN macht

        Geh mal auf http://www.mysql.de

        Gruß
        Reiner

  2. Moin!

    sorry für die dumme frage, aber egal wie ichs versuch das krieg ich ned hin
    ich versuch 5 tables zu JOIN`en

    Bitte um einen query mit RIGHT, LEFT und INNER Join.
    (Soll in ein Schulreferat eingebaut werden)

    Damit ein JOIN auch funktioniert, erfordert es eigentlich auch einen Sinn, den man damit verfolgt, denn ansonsten weiß man ja nicht, ob das, was man rauskriegt, auch das ist, was man haben will.

    Wenn du also ein Referat schreibst, dann solltest du dir ein vernünftiges Beispiel überlegen, bei dem JOINs auch tatsächlich sinnvoll angewendet werden können.

    Und im Übrigen gilt natürlich auch hier:
    Was hast du versucht? Was hast du erwartet? Was ist stattdessen passiert? Welche Fehlermeldungen kamen? </faq/#Q-07>.

    • Sven Rautenberg
    1. 'tagchen Sven

      Versuchen konnte ich noch nicht viel da ich nicht weis
      wie man mehr als 2 tables in einem JOIN verwendet.

      etwas sinnvolleres fällt mir auch nicht ein,
      es soll eben sichtbar werden dass INNER JOIN mit LEFT und RIGHT
      zusammenarbeiten kann und eventuell auch nULL Felder entstehen,
      und vor allen Dingen hoffe ich klarheit über den syntax zu bekommen
      wie ein JOIN mit 5 Tabellen geht.

      Dankend,
      Tigerchen

      1. Hi,

        Versuchen konnte ich noch nicht viel da ich nicht weis
        wie man mehr als 2 tables in einem JOIN verwendet.

        Am besten garnicht?

        etwas sinnvolleres fällt mir auch nicht ein,
        es soll eben sichtbar werden dass INNER JOIN mit LEFT und RIGHT
        zusammenarbeiten kann und eventuell auch nULL Felder entstehen,
        und vor allen Dingen hoffe ich klarheit über den syntax zu bekommen
        wie ein JOIN mit 5 Tabellen geht.

        Wenn du einen JOIN über 5 Tabellen brauchst hast du normalerweise ein Problem zu lösen, von dem du ein halbes Jahr leben kannst, oder einfach keinen Schimmer von Datenbankdesign, denn, sorry, sowas kommt nun wirklich nur in sehr schlechten und sehr komplexen Relationen vor.

        Also streng dich mal an und überlege, was man mit JOINs macht, dann kommst du bestimmt darauf, welche Struktur welche über 5 Tabellen erfordern würde.

        Grüße aus Barsinghausen,
        Fabian

        --
        "It's easier not to be wise" - < http://www.fabian-transchel.de/kultur/philosophie/ialone/>