委任規則: SELECT 句

SELECT 句は、SQL クエリにおいて WHERE 句に続いて 2 番目に評価されます。SELECT 句は WHERE 句によって指定された行のサブセットに適用されるためです。データ ソース プロバイダが SELECT 内の操作をサポートする場合、その操作は委任の検討対象になります。データ プロバイダに何を委任できるか判断する際に、以下の規則が適用されます。

  1. すべてのデータ ソース プロバイダは、データ ソースからすべての列を返す機能をサポートする必要があります。
  2. すべてのデータ ソース プロバイダは、データ ソースから列のサブセットを返す機能をサポートする必要があります。
  3. すべてのデータ ソース プロバイダは、SELECT 句内での属性のエイリアス機能をサポートする必要があります。
  4. すべてのデータ ソース プロバイダは、データ ソースから任意の順序で属性を返すことができる必要があります。
  5. SELECT 句の中の集約関数と Boolean 以外の演算子は、データ ソース プロバイダがそれらをサポートするならば委任できます。
  6. 非集約クエリに含まれる関数と Boolean 以外の演算子は、データ プロバイダに委任できません。