Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:datenbanken:joins:start [26.11.2020 08:37] – [Aufgaben] sbel | faecher:informatik:oberstufe:datenbanken:joins:start [21.03.2025 07:01] (aktuell) – [Abfragen über mehrere Tabellen] Frank Schiebel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== SQL-Joins | ====== SQL-Joins | ||
- | Wie werden die Tabellen (und Entitäten) jetzt aber mit SQL Abfragen verbunden, so das die gewünschten " | + | Wie werden die Tabellen (und Entitäten) jetzt aber mit SQL Abfragen verbunden, so dass die gewünschten " |
===== Abfragen über mehrere Tabellen ===== | ===== Abfragen über mehrere Tabellen ===== | ||
- | Bei Abfragen aus mehreren Tabellen wird ohne weitere Bedingung die Besziehung | + | Bei Abfragen aus mehreren Tabellen wird ohne weitere Bedingung die Beziehung |
Beipiel: Die Tabelle '' | Beipiel: Die Tabelle '' | ||
Zeile 13: | Zeile 13: | ||
</ | </ | ||
- | liefert als Ergebnis eine Tabelle mit 72 Datensätzen: | + | liefert als Ergebnis eine Tabelle mit ($6\cdot 12=$) 72 Datensätzen: |
{{ : | {{ : | ||
Zeile 39: | Zeile 39: | ||
SELECT [DISTINCT] { spalten | * } | SELECT [DISTINCT] { spalten | * } | ||
FROM tabelle1, tabelle2, ... | FROM tabelle1, tabelle2, ... | ||
- | WHERE tabelle1.spalte1=tabelle2.spalte1, | + | WHERE tabelle1.spalte1=tabelle2.spalte1 |
- | tabelle1.spalte2=tabelle2.spalte2, ... | + | tabelle1.spalte2=tabelle2.spalte2 |
</ | </ | ||
Zeile 48: | Zeile 48: | ||
SELECT [DISTINCT] { spalten | * } | SELECT [DISTINCT] { spalten | * } | ||
FROM tabelle1 AS t1, tabelle2 AS t2, ... | FROM tabelle1 AS t1, tabelle2 AS t2, ... | ||
- | WHERE t1.spalte1=t2.spalte1,t1.spalte2=t2.spalte2, ... | + | WHERE t1.spalte1=t2.spalte1 |
</ | </ | ||
- | Das Ergebnis eines Joins ist eine Tabelle mit allen Spalten, die in der SQL-Klausuel | + | Das Ergebnis eines Joins ist eine Tabelle mit allen Spalten, die in der SQL-Klausel |
Wird keine WHERE-Bedingung angegeben, wird das Kreuzprodukt der Tabellen gebildet, d.h. jeder Datensatz einer Tabelle wird mit jedem der anderen Tabelle(n) kombiniert. | Wird keine WHERE-Bedingung angegeben, wird das Kreuzprodukt der Tabellen gebildet, d.h. jeder Datensatz einer Tabelle wird mit jedem der anderen Tabelle(n) kombiniert. | ||
Zeile 71: | Zeile 71: | ||
</ | </ | ||
- | ===== Aufgaben ===== | + | |
---- | ---- | ||
{{: | {{: | ||
Zeile 84: | Zeile 84: | ||
- Gib die Liste aller Kundennummern zusammen mit den Namen der Artikel, die unter dieser Nummer bestellt wurden, aus. | - Gib die Liste aller Kundennummern zusammen mit den Namen der Artikel, die unter dieser Nummer bestellt wurden, aus. | ||
- Gib alle Zeitpunkte aus, zu denen Thomas Tischler Artikel im Webshop bestellt hat. | - Gib alle Zeitpunkte aus, zu denen Thomas Tischler Artikel im Webshop bestellt hat. | ||
- | - Gib Sie die Namen aller Artikel aus, die Maximilian Mayer bestellt hat. | + | - Gib die Namen aller Artikel aus, die Maximilian Mayer bestellt hat. |
- Gib die Namen aller Kunden aus, die mindestens einmal einen Artikel bestellt haben, absteigend sortiert nach dem Datum der letzten Bestellung. | - Gib die Namen aller Kunden aus, die mindestens einmal einen Artikel bestellt haben, absteigend sortiert nach dem Datum der letzten Bestellung. | ||
- Gib pro Kunde aus, wie viele Artikel er insgesamt bestellt hat. Die Liste soll absteigend sortiert nach der Anzahl der Bestellungen ausgegeben werden. | - Gib pro Kunde aus, wie viele Artikel er insgesamt bestellt hat. Die Liste soll absteigend sortiert nach der Anzahl der Bestellungen ausgegeben werden. | ||
Zeile 92: | Zeile 92: | ||
- Zusatzaufgabe: | - Zusatzaufgabe: | ||
- | ==== Material ==== | + | -> [[.: |
+ | ===== Material ===== | ||
+ | {{simplefilelist>: |