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

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Daten abfragen und ändern » Unterabfragen verwenden » Optimierer: Automatische Konvertierung von Unterabfragen in Joins

 

Unterabfrage, die ANY, ALL oder SOME folgt

Eine Unterabfrage, die auf die Schlüsselwörter ANY, ALL oder SOME folgt, wird als quantifizierter Vergleich bezeichnet. Der Optimierer konvertiert diese Unterabfragen in Joins, sofern folgende Bedingungen erfüllt sind:

  • Die Hauptabfrage enthält keine GROUP BY-Klausel und ist keine Aggregatabfrage, oder die Unterabfrage gibt genau einen Wert zurück.

  • Die Unterabfrage enthält keine GROUP BY-Klausel.

  • Die Unterabfrage enthält kein DISTINCT-Schlüsselwort.

  • Die Unterabfrage ist keine UNION-Abfrage.

  • Die Unterabfrage ist keine Aggregatabfrage.

  • Die Verbindung 'AusdruckVergleichsoperator { ANY | SOME } ( Unterabfragen_Ausdruck)' darf nicht negiert werden.

  • Die Verbindung 'AusdruckVergleichsoperator ( ALL (Unterabfragen_Ausdruck)' muss negiert werden.

Die ersten vier Bedingungen sind relativ klar.

 Beispiel
 Negativ-Interpretation von Unterabfragen mit den Operatoren ANY und ALL
 Negativinterpretationen der Ausdrücke ANY und ALL