neuerlehrplan:klasse09:mehreretabellen
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
neuerlehrplan:klasse09:mehreretabellen [2024/11/15 11:21] – lutz | neuerlehrplan:klasse09:mehreretabellen [2024/12/02 07:39] (aktuell) – lutz | ||
---|---|---|---|
Zeile 76: | Zeile 76: | ||
</ | </ | ||
+ | Übertragen wir nun das Ganze auf die Instahub-Datenbank. Dazu betrachten wir die Tabellen users und photos: | ||
+ | **users** (__id__, username, email, email_verified_at, | ||
+ | |||
+ | **photos**( __id__, user_id, description, | ||
+ | |||
+ | In der Tabelle **photos** ist user_id Fremdschlüssel und bezieht sich auf den Primärschlüssel (id) in der Tablle **users**. | ||
+ | |||
+ | |||
+ | Nun sollen einige Abfragen über die beiden Tabellen durchgeführt werden: | ||
+ | |||
+ | <code sql> | ||
+ | SELECT * | ||
+ | FROM users, photos; | ||
+ | </ | ||
+ | |||
+ | Bei dieser Abfrage würde jede Zeile der Tabelle users mit jeder Zeile der Tabelle photos kombiniert werden. Das wären in der Ausgabe, bei Füllen der Tabellen mit Standarddaten, | ||
+ | |||
+ | Uns interessieren aber die Fotos, die jeder Nutzer veröffentlicht hat. Dazu kann man den folgenden Befehl verwenden: | ||
+ | |||
+ | <code sql> | ||
+ | SELECT * | ||
+ | FROM users, photos | ||
+ | WHERE users.id = photos.user_id | ||
+ | </ | ||
+ | |||
+ | mit der Zeile '' | ||
+ | |||
+ | Auch möglich wäre: | ||
+ | |||
+ | <code sql> | ||
+ | SELECT * | ||
+ | FROM users JOIN photos | ||
+ | ON users.id = photos.user_id | ||
+ | </ | ||
+ | |||
+ | Wenn man die Abfrage noch mehr verfeinern will, z.B. alle Fotos des Nutzers mit der id 1, kann man weitere Bedingungen hinzufügen: | ||
+ | |||
+ | <code sql> | ||
+ | SELECT * | ||
+ | FROM users, photos | ||
+ | WHERE users.id = photos.user_id | ||
+ | AND users.id = 1 | ||
+ | </ | ||
+ | |||
+ | ===Aufgabe=== | ||
+ | Lass von deinem Lehrer alle Tabellen in Instahub eintragen und teste die Abfragen. | ||
neuerlehrplan/klasse09/mehreretabellen.1731666070.txt.gz · Zuletzt geändert: 2024/11/15 11:21 von lutz