Unterabfragen

  • Beitrags-Autor:
  • Beitrags-Kategorie:Abfragen

Einfache Unterabfragen

Nicht immer stehen Tabellen so zur Verfügung, wie wir die Daten benötigen. Gelegentlich müssen wir uns Hilfsabfragen bauen. Eine Abfrage stellt, wie auch eine Tabelle, eine Menge von Datensätzen dar. Insoweit darf sie überall dort verwendet werden, wo wir auch eine Tabelle verwenden können.

Eine solche Abfrage nennen wir dann auch abgeleitete Tabelle.Sie ist in Klammern zu notieren und mit einem Aliasbezeichner zu versehen.

WeiterlesenUnterabfragen

Mengen-Operationen

  • Beitrags-Autor:
  • Beitrags-Kategorie:Abfragen

SQL ist bereits angewandte Mengenlehre, wenn Sie so wollen. Dennoch bietet SQL die typischen aus der Mengenlehre bekannten Mengen-Operationen Vereinigung, Schnitt und Differenz, explizit an, um verschiedene Ergebnismengen damit zu verknüpfen.

Vereinigungsmenge UNION

Der UNION-Operator ermöglicht es Ihnen, mehrere SELECT-Statements zu einer Ergebnismenge zusammenzufassen, zu vereinigen. Dabei kennt er zwi Spielarten, ohne und mit dem Zusatz ALL.

WeiterlesenMengen-Operationen

Daten gruppieren

  • Beitrags-Autor:
  • Beitrags-Kategorie:Abfragen

Bis hierher haben wir die Daten als originäre Datensätze betrachtet, wie sie in den abgefragten Tabellen stehen. In der Praxis haben wir jedoch oft das Bedürfnis, Datensätze nach verschiedenen Kriterien zu gruppieren, z.B. um die Umsätze eines Jahres zu aggregieren. Das Jahr bildet dann eine Gruppe mit einer Umsatzsumme.

GROUP BY

Zum Gruppieren bietet SQL die Klausel GROUP BY an. Alle dahinter notierten Spalten werden hinsichtlich gleicher Attributwerte zusammengefasst.

WeiterlesenDaten gruppieren

Tabellen verknüpfen

  • Beitrags-Autor:
  • Beitrags-Kategorie:Abfragen

Nur mit einer Tabelle hantieren zu können, wie wir es bisher getan haben, ist langweilig. Zudem haben Sie in Kapitel „Entwurf und Implementierung“ gelernt, dass mithilfe der Normalisierung die Daten in einer relationalen Datenbank so auf verschiedene Tabellen verteilt werden, dass sich mögliche Redundanzen (weitestgehend) auf Schlüsselattribute beschränken. Die dahinter stehende Idee war/ist es, ein Datenmodell zu wählen, welches der Integrität der Daten einer Datenbank förderlich ist. Damit geht in der Regel einher, Daten, wenn wir sie abfragen wollen, wieder „zusammensetzen“ zu müssen. Wir benötigen daher oftmals mehr als nur eine Tabelle in einer Abfrage, um die interessierenden Daten vollständig anzuzeigen. Z.B. steht in der Tabelle der geleisteten Zahlungen lediglich ein Verweis auf den Kunden, der diese jeweils geleistet hat, um bei unserer Beispieldatenbank zu bleiben. Wir müssen ihn in einer verwiesenen Tabelle nachsehen. Wenn wir wissen wollen, welche Schauspieler in einem Film mitgewirkt haben, so müssen wir auch das in anderen Tabellen nachschlagen.

WeiterlesenTabellen verknüpfen

Daten filtern

  • Beitrags-Autor:
  • Beitrags-Kategorie:Abfragen

Im letzten Kapitel haben Sie gelernt, erste Abfragen zu formulieren. Sie hatten lediglich Einfluss auf die Auswahl der auszugebenden Spalten und die Reihenfolge der auszugebenden Datensätze. Ansonsten waren die Abfragen dadurch gekennzeichnet, stets alle in einer Tabelle vorhandenen Datensätze zurückzugeben. Mithilfe von DISTINCT konnten Sie lediglich die Ausgabe von Dubletten unterbinden.

In diesem Kapitel sehen wir uns an, wie wir gezielt Datensätze für die Ausgabe auswählen können.

WeiterlesenDaten filtern

Beispieldatenbank: DVD-Verleih

  • Beitrags-Autor:
  • Beitrags-Kategorie:Abfragen

Wir werden die DVD-Verleih-Datenbank namens dvdrental verwenden, um die Funktionen von SQL im Allgemeinen und PostgreSQL im Speziellen kennenzulernen.

Die DVD-Verleih-Datenbank stellt die Geschäftsprozesse eines DVD-Verleihgeschäfts dar. Die DVD-Verleih-Datenbank enthält viele Objekte, darunter:

  • 17 Tabellen
  • 1 Trigger
  • 7 Sichten
  • 8 Funktionen
  • 1 Domäne
  • 13 Sequenzen

WeiterlesenBeispieldatenbank: DVD-Verleih