2016-10-27 7 views
0

SQL問合せのwhere句に複数のAND条件があり、最初の条件がレコードで偽と判断された場合は、別のAND条件をチェックするかどうかを調べます。SQLのレコードの複数のAND条件で最初の条件が偽と判断された場合、2番目の条件がチェックされますか?

私たちは& &演算子を使用して複数の条件をチェックします。最初の条件が偽であれば、別の条件が満たされないため、SQL条件にも適用されます。

例:

Select * from tablename where column is not null and column > 0 and column <> 1 
+0

のように見えるのだろうか?それは偽ですか? –

+1

@ersinそれは質問に答えません – Bee157

+1

@ Bee157まさにそれは答えです –

答えて

4

SQLは宣言です。手続き的ではありません。

オプティマイザは、短絡回路の評価を使用する場合と、使用しない場合があります。

また、別のものに変換することがあります。 column

WHERE column > 1 

への3つの条件すべてが崩壊整数型の場合も同様オプティマイザは、いくつかの条件がクエリでチェック制約または他の述語によって真か偽であることが保証されており、全く評価する必要はありませんかもしれません。または、すべての行が述部の一部と一致するように、実行時の評価が不要であることを保証するアクセス・パス(フィルターされた索引など)を使用してください。

+1

列に値がある場合は? –

+2

@ErsinGülbahar - 質問では 'column> 0'によって除外されます。 –

-3

私の答えはdownvoteである理由は、この

SELECT * FROM tablename 

WHERE (column != null AND column <> 1) AND (column > 0) 
関連する問題