Opérateurs de comparaison d'attribut

Les opérateurs de comparaison d'attributs comprennent : =, <, >, =<, =>, <>.

Les exemples suivants utilisent le = opérateur ; Cependant, un des opérateurs de l'attribut peut être remplacé.

Exemple 1 :

SELECT * FROM table WHERE city='Austin'

Si la source de données prend en charge du fournisseur l'opérateur =, l'instruction entière est déléguée au fournisseur de source de données.

Si le fournisseur de source de données ne prend pas en charge l'opérateur =, Spectrum Spatial lui demande d'effectuer la clause select sans la clause WHERE.

SELECT * FROM table
Spectrum Spatial exécute la requête toute entière en utilisant les résultats de la clause SELECT du fournisseur de données.
SELECT * FROM <results from the delegation> WHERE city='Austin'
Exemple 2 :
SELECT pop FROM table WHERE city='Austin'

Si la source de données prend en charge du fournisseur l'opérateur =, l'instruction entière est déléguée au fournisseur de source de données.

Si le fournisseur de source de données ne prend pas en charge l'opérateur =, seule une partie de la requête est déléguée, comme suit :

SELECT pop,city FROM table
L'opération suivante est effectuée par par Spectrum Spatial :
SELECT pop FROM <results from the delegation> WHERE city='Austin'

Exemple 3 :

SELECT pop FROM table WHERE UPPER(city)='Austin'
La fonction « Supérieur » empêche Spectrum Spatial déléguer la requête au fournisseur de la source de données, même si la source de données prend en charge du fournisseur l'opérateur =. Ceci est dû à la Règle 5 de la clause SELECT, dans laquelle les fonctions et opérateurs ne peuvent pas être délégués aux fournisseurs de sources de données. Par conséquent, cet exemple est complètement traité par Spectrum Spatial. Il ne demande que le fournisseur de source de données pour les données à exécuter, comme suit :
SELECT pop,city FROM table
L'opération suivante est effectuée par par Spectrum Spatial :
SELECT pop FROM <results from the delegation> WHERE UPPER(city)='Austin'

Exemple 4 :

SELECT state FROM table WHERE pop/area=5000
Cet exemple contenant l’opérateur « / » signifie que la clause WHERE ne peut pas être déléguée lorsqu’une fonction est incluse. Par conséquent, cet exemple est complètement traité par Spectrum Spatial. Il ne demande que le fournisseur de source de données pour les données à exécuter, comme suit :
SELECT state, pop, area FROM table
L'opération suivante est effectuée par par Spectrum Spatial :
SELECT pop FROM <results from the delegation> WHERE pop/area=5000