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:18] – lutz | neuerlehrplan:klasse09:mehreretabellen [2024/12/02 07:39] (aktuell) – lutz | ||
|---|---|---|---|
| Zeile 70: | Zeile 70: | ||
| Auf das Ergebnis des Verbunds lassen sich dann wiederum Projektion und Selektion anwenden. | Auf das Ergebnis des Verbunds lassen sich dann wiederum Projektion und Selektion anwenden. | ||
| + | Hier ist Geo als LibreOffice-Datenbank, | ||
| + | |||
| + | <WRAP center round download 60%> | ||
| + | {{ : | ||
| + | </ | ||
| + | |||
| + | Ü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.1731665927.txt.gz · Zuletzt geändert: von lutz
