Operatoren für den Attributvergleich
Zu den Operatoren für den Attributvergleich zählen: „=“, „<“, „>“, „=<“, „=>“ und „<>“.
In den folgenden Beispielen wird der Operator „=“ verwendet; allerdings können alle Attributoperatoren ersetzt werden.
Beispiel 1:
SELECT * FROM table WHERE city='Austin'
Wenn der Datenquellenanbieter den Operator „=“ unterstützt, wird die gesamte Anweisung an den Datenquellenanbieter delegiert.
Wenn der Datenquellenanbieter den Operator „=“ nicht unterstützt, fordert Spectrum Spatial den Datenquellenanbieter dazu auf, die ausgewählte Klausel ohne die WHERE-Klausel auszuführen.
SELECT * FROM table
Spectrum Spatial führt die gesamte Abfrage mithilfe der Ergebnisse der SELECT-Klausel des Datenanbieters aus.SELECT * FROM <results from the delegation> WHERE city='Austin'
SELECT pop FROM table WHERE city='Austin'
Wenn der Datenquellenanbieter den Operator „=“ unterstützt, wird die gesamte Anweisung an den Datenquellenanbieter delegiert.
Wenn der Datenquellenanbieter den Operator „=“ nicht unterstützt, wird nur ein Teil der Abfrage delegiert, und zwar wie folgt:
SELECT pop,city FROM table
Folgendes wird von Spectrum Spatial ausgeführt:SELECT pop FROM <results from the delegation> WHERE city='Austin'
Beispiel 3:
SELECT pop FROM table WHERE UPPER(city)='Austin'
SELECT pop,city FROM table
SELECT pop FROM <results from the delegation> WHERE UPPER(city)='Austin'
Beispiel 4:
SELECT state FROM table WHERE pop/area=5000
SELECT state, pop, area FROM table
Folgendes wird von Spectrum Spatial ausgeführt:SELECT pop FROM <results from the delegation> WHERE pop/area=5000