Um komplexere Abfragen zu erstellen, kann es notwendig sein, in der Bedingung Abfragen zu verschachteln. Operator "in" bzw. "not in"Alle Artikel zu denen es keine Aufträge gibt: select artikel_nr, bezeichnung Für jede Zeile in "ARTIKEL" wird eine Zwischenmenge erzeugt, die alle Artikelnummern aus der Tabelle "AUFTRAG_POS" enthält. Dann wird für jede Zeile geprüft, ob die Artikelnummer, in der Zwischenmenge enthalten ist. Dieser Operator sollte aus Performancegründen möglichst vermieden werden. Operator "exists" bzw. "not exists"Alle Artikel zu denen es keine Aufträge gibt: select artikel_nr, bezeichnung Wiederum wird für jede Zeile eine Zwischenmenge erzeugt. Diese sind jedoch wesentlich kleiner. Operator "="Alle Auftragsnummern mit dem höchsten Umsatz anzeigen: select auftrag_nr Subqueries mit einer Zeile und einer SpalteSubqueries, die genau eine Zeile und eine Spalte liefern, können an allen Stellen eingesetzt werden, an denen auch andere Platzhalter (Spalten, Literale) verwendet werden können. Dabei sind Querverbindungen möglich: Beispiele:select artikel_nr, bezeichnung, select artikel_nr, bezeichnung insert into kunde ( oder insert into kunde (kunden_nr, Stichwörter subquery subqueries Verschachtelte Abfrage Geschachtelte Abfragen exists exist not in Beispiel Beispiele |