12.07.2015 Aufrufe

Datenbankabfragen (Query)

Datenbankabfragen (Query)

Datenbankabfragen (Query)

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Übungen:6.26 Einer der Geschäftsführer der Beispielfirma hat gehört, dass Artikel, derenBezeichnung mehr als 17 Buchstaben lang ist, von Kunden ungern gekauft werden. Ermöchte daher wissen, welche Artikelnamen länger als 17 Zeichen sind.6.27 Wie können Sie feststellen, wie viele Bestellungen bisher insgesamt an den einzelnenTagen des Monats eingegangen sind?6.28 Welche Kunden haben E-Mail-Adressen von online.de?Der innere Verbund (INNER JOIN)Der innere Verbund gibt nur Datensätze aus, die in beiden Tabellen vorhanden sind.Wenn Sie etwa wie oben alle Kunden mit ihren Bestellungen auflisten wollen, werdenhier auch wirklich nur die Kunden aufgeführt, die schon etwas bestellt haben. Mitdem inneren Verbund erhalten Sie also grundsätzlich dasselbe Ergebnis wie mit derWHERE-Bedingung.SQL-Syntax:Ganz allgemein sieht die Verknüpfung über WHERE so aus:SELECT spaltenlisteFROM tabellenlisteWHERE primärschlüsselspalte = fremdschlüsselspalte;Der Aufbau des INNER JOIN entspricht dem allgemeinen Befehl:SELECT spaltenlisteFROM tabellenname1[INNER] JOIN tabellenname2 ONtabellenname1.spaltennameA = tabellenname2.spaltennameA[INNER] JOIN tabellenname3 ONtabellenname2.spaltennameB = tabellenname3.spaltennameB …];Den Vorsatz INNER sollten Sie der Theorie nach eigentlich auch weglassen können,aber die Datenbanksysteme wollen es in der Regel doch so ausführlich haben.Beispiel:Die Geschäftsführung der Beispielfirma möchte wissen, wann welcher Kunde etwasbestellt hat. Die dazu benötigten Tabellen kunde und bestellung sind über dieKundennummer miteinander verknüpft. Dabei ist die Tabelle kunde die Vatertabelleund bestellung die abhängige Tabelle.SELECT kunde.name, kunde.vorname, bestellung.bestelldatumFROM kundeINNER JOIN bestellung ONkunde.kundennr = bestellung.kundennr;Sie gehen ebenso vor, um zu erfahren, zu welcher Abteilung die Mitarbeiter gehören.Die Abteilungen erfahren Sie über die Tabelle abteilung. Die ist über die abteilungsnrals Primärschlüssel mit der Tabelle mitarbeiter verbunden.SELECT m.name, m.vorname, a.bezeichnungFROM mitarbeiter mINNER JOIN abteilung a ON m.abteilung = a.abteilungsnr;

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!