Home > Lernmodule > Modul 10

 

4 Komplexe Anfragen in SQL


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.