Nach der Behandlung einfacher Anfragen mittels SQL in
Lerneinheit
3 beschäftigt sich diese Lerneinheit mit komplexeren
Anfragen, bei denen zusammengehörige Informationen auf mehrere Tabellen
verteilt sind. Zur Bearbeitung einer Anfrage müssen diese Tabellen geeignet
kombiniert werden. Die intuitive Methode hierzu ist das Bilden des Kreuzproduktes
zweier Tabellen. Dadurch werden oft sehr viele überflüssige Tupelpaare
gebildet. Beim „allgemeinen
Verbund“ (Join) kann wie bei einfachen Anfragen die zurückgelieferte
Ergebnismenge durch Selektionsbedingungen eingeschränkt werden. Ein Spezialfall
hierzu ist der „natürliche
Verbund“, bei dem nur diejenigen Datensätze zweier Tabellen in
die Ergebnismenge aufgenommen werden, bei denen die Attribute gleichnamiger
Spalten übereinstimmen.
Darüber hinaus wird in dieser Lerneinheit
die Verschachtelung
von Anfragen behandelt. Unteranfragen können dabei unter anderem als
Operand
von Mengenoperationen dienen. So kann z.B. mit dem IN Operator geprüft
werden, ob ein Wert im Ergebnis einer Unteranfrage enthalten ist. Liefert eine
Unteranfrage einen skalaren Wert, kann dieses Ergebnis auch für Vergleichsoperationen
genutzt werden. Auch die klassischen
Mengenoperationen wie Vereinigung, Durchschnitt und Differenz der Inhalte
zweier Tabellen stehen in SQL zur Verfügung.