WHERE句
WHERE
句はSELECT
のFROM句からのデータをフィルタリングすることを可能にします。
WHERE
句が存在する場合、UInt8
型の式が含まれていなければなりません。これは通常、比較演算子や論理演算子を含む式です。この式が0
と評価される行は、さらなる変換や結果から除外されます。
WHERE
式は、基盤となるテーブルエンジンがそれをサポートしている場合、インデックスの使用やパーティションプルーニングの能力に基づいて評価されます。
注記
フィルタリング最適化にはPREWHEREと呼ばれるものがあります。
NULLの値をテストする必要がある場合は、IS NULLおよびIS NOT NULL演算子、またはisNullおよびisNotNull関数を使用してください。
さもなければ、NULL
を含む式は決して通過しません。
例
3の倍数かつ10より大きい数を見つけるために、numbersテーブルに対して次のクエリを実行します。
結果:
NULL
値を含むクエリ:
結果: