144
Kapitel 9
Verwenden von Unterabfragen
9.2.1 Schreiben von mehrwertigen Unterabfragen
Eine mehrwertige Unterabfrage kann mehr als einen Wert in Form einer einspal-
tigen Menge zurückgeben. Diese Form der Unterabfragen nutzt das IN-Prädikat.
Beispiel:
-- Gesucht sind die Namen der Lieferanten, die bereits geliefert haben.
SELECT
LName AS 'Name'
FROM dbo.Lieferant
WHERE LNr = (SELECT LNr FROM dbo.Lieferung);
Ergebnis:
Name
--------------------
Meldung 512, Ebene 16, Status 1, Zeile 50
Die Unterabfrage hat mehr als einen Wert zurückgegeben. Das ist nicht zulässig,
wenn die Unterabfrage auf =, !=, <, <=, > oder >= folgt oder als Ausdruck
verwendet wird.
Die Lösung zu diesem Problem ist die Benutzung des IN-Prädikats.
Beispiel: