Attribute Comparison Operators

Attribute comparison operators include: =, <, >, =<, =>, <>.

The following examples use the = operator; however, any of the attribute operators can be substituted.

Example 1:

SELECT * FROM table WHERE city='Austin'

If the data source provider supports the = operator, the entire statement is delegated to the data source provider.

If the data source provider doesn't support the = operator, Spectrum Spatial will ask the data source provider to carry out the select clause without the WHERE clause.

SELECT * FROM table
Spectrum Spatial executes the entire query using the SELECT clause results from the data provider.
SELECT * FROM <results from the delegation> WHERE city='Austin'
Example 2:
SELECT pop FROM table WHERE city='Austin'

If the data source provider supports the = operator, the entire statement is delegated to the data source provider.

If the data source provider does not support the = operator, only part of the query is delegated, as follows:

SELECT pop,city FROM table
The following is executed by Spectrum Spatial:
SELECT pop FROM <results from the delegation> WHERE city='Austin'

Example 3:

SELECT pop FROM table WHERE UPPER(city)='Austin'
The 'UPPER' function prevents Spectrum Spatial from delegating the query to the data source provider, even if the data source provider supports the = operator. This is due to Rule 5 for the SELECT clause where functions and operators cannot be delegated to data source providers. So this example is processed completely by Spectrum Spatial. It only asks the data source provider for the data to operate on, as follows:
SELECT pop,city FROM table
The following is executed by Spectrum Spatial:
SELECT pop FROM <results from the delegation> WHERE UPPER(city)='Austin'

Example 4:

SELECT state FROM table WHERE pop/area=5000
This example containing the '/' operator means the WHERE clause cannot be delegated when a function is included. So this example is processed completely by Spectrum Spatial. It only asks the data source provider for the data to operate on, as follows:
SELECT state, pop, area FROM table
The following is executed by Spectrum Spatial:
SELECT pop FROM <results from the delegation> WHERE pop/area=5000