論理演算子: AND、ORおよびNOT

構文

expression ::= or_expression

or_expression ::= and_expression | (or_expression OR and_expression)

and_expression ::= not_expression | (and_expression AND not_expression)

not_expression ::= [NOT] is_null_expression

セマンティクス

バイナリ演算子ANDおよびORと単項演算子NOTには、通常のセマンティクスがあります。これらのオペランドは、BOOLEAN型の条件式である必要があります?。オペランドからの空の結果は、false値として処理されます。オペランドがNULLを返す場合は、次のようになります。
  • AND演算子は、他のオペランドがfalseを返す場合はfalseを、それ以外の場合はNULLを返します。
  • OR演算子は、他のオペランドがtrueを返す場合はtrueを、それ以外の場合はNULLを返します。
  • NOT演算子はNULLを返します。

例6-32 論理演算子

年齢が30歳から40歳の間であるか、収入が10万を超えるユーザーのIDと姓を選択します。

SELECT id, lastName FROM users
WHERE 30 <= age 
    AND age <= 40 
    OR income > 100000;