委任規則: SELECT 句
SELECT 句は、SQL クエリにおいて WHERE 句に続いて 2 番目に評価されます。SELECT 句は WHERE 句によって指定された行のサブセットに適用されるためです。データ ソース プロバイダが SELECT 内の操作をサポートする場合、その操作は委任の検討対象になります。データ プロバイダに何を委任できるか判断する際に、以下の規則が適用されます。
- すべてのデータ ソース プロバイダは、データ ソースからすべての列を返す機能をサポートする必要があります。
- すべてのデータ ソース プロバイダは、データ ソースから列のサブセットを返す機能をサポートする必要があります。
- すべてのデータ ソース プロバイダは、SELECT 句内での属性のエイリアス機能をサポートする必要があります。
- すべてのデータ ソース プロバイダは、データ ソースから任意の順序で属性を返すことができる必要があります。
- SELECT 句の中の集約関数と Boolean 以外の演算子は、データ ソース プロバイダがそれらをサポートするならば委任できます。
- 非集約クエリに含まれる関数と Boolean 以外の演算子は、データ プロバイダに委任できません。