faecher:informatik:oberstufe:datenbanken:joins:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
faecher:informatik:oberstufe:datenbanken:joins:start [20.11.2019 20:59] – [Beispiele] sbelfaecher:informatik:oberstufe:datenbanken:joins:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
-====== SQL-Joins ====== 
  
-Wie werden die Tabellen (und Entitäten) jetzt aber mit SQL Abfragen verbunden, so das die gewünschten "zusammengesetzten" Informationen als Ergebnis der Abfrage vorliegen? 
- 
-===== Aufbau ===== 
- 
-Eine Klausel für SQL-Joins ist im Wesentlichen folgendermaßen aufgebaut: 
- 
-<code sql> 
-SELECT [DISTINCT] { spalten | * } 
-FROM tabelle1, tabelle2, ... 
-WHERE tabelle1.spalte1=tabelle2.spalte1, 
-      tabelle1.spalte2=tabelle2.spalte2, ... 
-</code> 
- 
-Um die Ausdtrücke abzukürzen, kann man Tabellen mit mit dem Schlüsselwort ''AS'' mit Aliasen bezeichnen: 
- 
-<code sql> 
-SELECT [DISTINCT] { spalten | * } 
-FROM tabelle1 AS t1, tabelle2 AS t2, ... 
-WHERE t1.spalte1=t2.spalte1,t1.spalte2=t2.spalte2, ... 
-</code> 
- 
-Das Ergebnis eines Joins ist eine Tabelle mit allen Spalten, die in der SQL-Klausuel angegeben wurden. Die Spaltenbezeichnung muss eindeutig sein. Enthalten die Tabellen ''tabelle1'' und ''tabelle2'' gleichnamige Spalten wie ''id'', muss die Spalte mit ''tabelle1.id'' eindeutig benannt sein. 
- 
-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. 
- 
-===== Beispiele ===== 
- 
-Ausgabe aller Kunden mit den Nummern ihrer bestellten Artikel 
-<code sql> 
-SELECT k.KNr, k.KVorname, k.KNachname, b.ANr 
-FROM   Kunden AS k, Bestellt AS b 
-WHERE  k.KNr=b.KNr 
-</code> 
- 
-Ausgabe aller Kunden mit den Namen ihrer bestellten Artikel 
-<code sql> 
-SELECT k.KNr, k.KVorname, k.KNachname, a.Name 
-FROM   Kunden AS k, Bestellt AS b, Artikel AS a 
-WHERE  k.KNr=b.KNr AND b.ANr=a.ANr 
-</code> 
- 
-===== Aufgaben ===== 
-  
- 
-Aufgabe 1 
-Lösen Sie die folgenden Aufgaben innerhalb der Datenbank webshop, indem Sie das SQL-Abfragefenster verwenden und speichern Sie Ihre Lösung in einer Textdatei. Vermeiden Sie die Ausgabe von Duplikaten. 
-    1) Geben Sie die Liste mit den Namen aller jemals bestellen Artikel mitsamt ihres Bestelldatums aus. 
-    2) Geben Sie die Liste aller Kundennummern zusammen mit den Namen der Artikel, die unter dieser Nummer bestellt wurden, aus. 
-    3) Geben Sie alle  Zeitpunkte aus, zu denen Thomas Tischler Artikel im Webshop bestellt hat. 
-    4) Geben Sie die Namen aller Artikel aus, die Maximilian Mayer bestellt hat. 
-    5) Geben Sie die Namen aller Kunden aus, die mindestens einmal einen Artikel bestellt haben, absteigend sortiert nach dem Datum der letzten Bestellung. 
-    6) Geben Sie pro Kunde aus, wie viele Artikel er insgesamt bestellt hat. Die Liste soll absteigend sortiert nach der Anzahl der Bestellungen ausgegeben werden. 
-    7) Geben Sie die Namen der Artikel aus mitsamt der Information, wie oft sie insgesamt bestellt wurden. Die Liste soll absteigend sortiert nach der Anzahl der Bestellungen ausgegeben werden. 
  • faecher/informatik/oberstufe/datenbanken/joins/start.1574279980.txt.gz
  • Zuletzt geändert: 20.11.2019 20:59
  • von sbel