Operadores para comparación de atributos

Los operadores de Comparación de atributos incluyen: =, <, >, =<, =>, <>.

Los siguientes ejemplos usan el operador =; sin embargo, se puede sustituir cualquiera de los operadores de atributos.

Ejemplo 1:

SELECT * FROM table WHERE city='Austin'

Si el proveedor de fuente de datos admite el operador =, la instrucción completa se delega al proveedor de la fuente de datos.

Si el proveedor de la fuente de datos no admite el operador =, Spectrum Spatial pedirá al proveedor de la fuente de datos que lleve a cabo la cláusula SELECT, sin la cláusula WHERE.

SELECT * FROM table
Spectrum Spatial ejecuta la totalidad de la consulta mediante el uso de los resultados de la cláusula SELECT del proveedor de datos.
SELECT * FROM <results from the delegation> WHERE city='Austin'
Ejemplo 2:
SELECT pop FROM table WHERE city='Austin'

Si el proveedor de fuente de datos admite el operador =, la instrucción completa se delega al proveedor de la fuente de datos.

Si el proveedor de fuente de datos no admite el operador =, solo se delega parte de la consulta, de la siguiente manera:

SELECT pop,city FROM table
Spectrum Spatial ejecuta la operación que sigue a continuación:
SELECT pop FROM <results from the delegation> WHERE city='Austin'

Ejemplo 3:

SELECT pop FROM table WHERE UPPER(city)='Austin'
La función ‘UPPER’ impide que Spectrum Spatial delegue la consulta al proveedor de fuente datos, incluso si el proveedor de fuente datos admite el operador =. Esto se debe a la Regla 5 para la cláusula SELECT, donde las funciones y los operadores no se pueden delegar a proveedores de fuente datos. Por lo tanto, Spectrum Spatial procesa la totalidad de este ejemplo. Solo pide al proveedor de fuente de datos los datos sobre los cuales operar, de la siguiente manera:
SELECT pop,city FROM table
Spectrum Spatial ejecuta la operación que sigue a continuación:
SELECT pop FROM <results from the delegation> WHERE UPPER(city)='Austin'

Ejemplo 4:

SELECT state FROM table WHERE pop/area=5000
Este ejemplo contiene el operador "/", lo que significa que la cláusula WHERE no puede delegarse cuando se incluye una función. Por lo tanto, Spectrum Spatial procesa la totalidad de este ejemplo. Solo pide al proveedor de fuente de datos los datos sobre los cuales operar, de la siguiente manera:
SELECT state, pop, area FROM table
Spectrum Spatial ejecuta la operación que sigue a continuación:
SELECT pop FROM <results from the delegation> WHERE pop/area=5000