Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Abfragen und Datenänderung » Verwendung von Unterabfragen

 

Einzeilige und mehrzeilige Unterabfragen

Unterabfragen, die nur eine oder null Zeilen an die äußere Anweisung zurückgeben können, werden Einzeilen-Unterabfragen genannt. Einzeilige Unterabfragen können in einer SQL-Anweisung mit oder ohne den Vergleichsoperator überall verwendet werden.

Eine einzeilige Unterabfrage kann innerhalb eines Ausdrucks in der SELECT-Klausel verwendet werden:

SELECT (select FIRST T.x FROM T) + 1 as ITEM_1, 2 as ITEM_2,...

Alternativ kann eine einzeilige Unterabfrage in einem Ausdruck in der SELECT-Klausel mit einem Vergleichsoperator verwendet werden.

Zum Beispiel:

SELECT IF (select FIRST T.x FROM T) >= 10 THEN 1 ELSE 0 ENDIF as ITEM_1, 2 as ITEM_2,...

Unterabfragen, die mehr als eine Zeile (aber nur eine Spalte) an die äußere Anweisung zurückgeben können, werden Mehrzeilen-Unterabfragen genannt. Mehrzeilen-Unterabfragen sind Unterabfragen, die in einer IN-, ANY, ALL- oder EXISTS-Klausel verwendet werden.

 Beispiel 1: Einzeilen-Unterabfrage
 Beispiel 2: Einzeilen-Unterabfrage
 Beispiel 3: Einfache Mehrzeilen-Unterabfrage mit IN
 Beispiel 4: Mehrzeilen-Unterabfragen, die die Verwendung von IN, ANY und ALL vergleichen