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

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Daten abfragen und ändern » Allgemeine Tabellenausdrücke

 

Allgemeine Tabellenausdrücke verwenden

Allgemeine Tabellenausdrücke werden unter Verwendung der WITH-Clausel definiert, die dem SELECT-Schlüsselwort in einer SELECT-Anweisung vorangestellt wird. Der Inhalt der Klausel definiert eine oder mehrere temporäre Ansichten, die dann später in der Anweisung referenziert werden. Die Syntax dieser Klausel ähnelt der einer CREATE VIEW-Anweisung. Unter Verwendung von allgemeinen Tabellenausdrücken können Sie die vorherige Abfrage folgendermaßen ausdrücken:

WITH CountEmployees( DepartmentID, n ) AS
  ( SELECT DepartmentID, COUNT( * ) AS n
    FROM Employees GROUP BY DepartmentID )
SELECT DepartmentID, n
FROM CountEmployees
WHERE n = ( SELECT MAX( n )
            FROM CountEmployees );

Wenn die Abfrage so geändert wird, dass nach der Abteilung mit den wenigsten Mitarbeitern gesucht wird, können möglicherweise mehrere Zeilen zurückgeben werden.

WITH CountEmployees( DepartmentID, n ) AS
  ( SELECT DepartmentID, COUNT( * ) AS n
    FROM Employees GROUP BY DepartmentID )
SELECT DepartmentID, n
FROM CountEmployees
WHERE n = ( SELECT MIN( n )
            FROM CountEmployees );

In der SQL Anywhere-Beispieldatenbank haben zwei Abteilungen die geringste Anzahl von Mitarbeitern, nämlich 9.

Siehe auch