![]() |
Geschachtelte SQL- Anfragen mit speziellen Operatoren | ![]() |
| Teilanfragen mit mehr als einem Ergebnis | Eine einfache Möglichkeit mit dem IN - Operator | Erweiterte Möglichkeiten | Übungen |
In vielen Fällen kann man nicht garantieren, dass in der Unteranfrage nur ein Ergebnis zurückgeliefert wird.
| Bemerkung |
Im Zweifelsfall sollte man auf geschachtelte Anfragen mit
,
,
,
und = verzichten! |
Für untergeordnete Anfragen, die mehrere Ergebnisse, also eine Ergebnismenge, zurückliefern, stellt SQL spezielle Operatoren zur Verfügung.
Der IN - Operator eignet sich auch zur Auswahl von Datensätzen, wenn das zu vergleichende Attribut aus einer kleinen, diskreten Menge stammt. Die Auswahlmenge wird in Form ihrer Elemente hinter dem IN - Operator angegeben.
![]() |
Welche Schülerinnen und Schüler - unter Angabe von Name und Klasse - sind katholisch oder evangelisch?
|
||||||
Diese Verwendung ersetzt eine (in der Regel längere) Formulierung mit OR- Operatoren.
Die Auswahlmenge kann auch auf Grund einer untergeordneten Query erzeugt werden. Dazu stehen folgende Operatoren zur Verfügung:
|
Name des Operators |
Bedeutung |
|---|---|
|
IN
|
Test auf Mengenmitgliedschaft |
|
NOT IN
|
Test, ob ein Element nicht in einer Menge ist. |
( =
,
, ...) ANY
|
Test, ob es mindestens ein Element in der Unteranfrage gibt, das den Vergleich mit dem Vergleichswert erfüllt. |
(
=,
, ...) ALL
|
Test, ob alle Elemente in der Unteranfrage den Vergleich mit dem Vergleichswert erfüllen. |
|
EXISTS
|
Test, ob die von der Unteranfrage bestimmte Menge nicht leer ist. |
|
NOT EXISTS
|
Test, ob die von der Unteranfrage bestimmte Menge leer ist. |
|
UNIQUE
|
Test, ob das Ergebnis duplikatfrei ist. |
![]() |
Welche Lehrkräfte haben eine Fachbetreuung?
|
||||||||||
![]() |
Welche Lehrkraft ist am jüngsten?
|
||||||||||

|
Welche Lehrerinnen sind 1950, 1952, 1956 oder 1957 geboren?
|
|
Welche Lehrkräfte haben die Fachbetreuung in Mathematik?
|
|
Welchen Lehrkräften, alphabetisch absteigend sortiert, wurden bereits Klassen zugeteilt?
|