論理演算子¶
論理演算子は、1つまたは2つの入力式で特定のブール演算の結果を返します。論理演算子はブール演算子とも呼ばれます。
論理演算子は述語としてのみ使用できます(例: WHERE 句内)。入力式は述語でなければなりません。
論理演算子のリスト¶
演算子 |
構文例 |
説明 |
|---|---|---|
|
|
両方の表現( |
|
|
式と一致しません。 |
|
|
いずれかの式に一致します。 |
これらの演算子の優先順位を以下に示します(最高から最低まで)。
NOT
AND
OR
例¶
以下の例では論理演算子を使用します。
テーブルデータに対するクエリで論理演算子を使用する¶
テーブルを作成してデータを挿入します。
単一の論理演算子を使用するクエリを実行する¶
さまざまなクエリの WHERE 句で単一の論理演算子を使用します。
論理演算子の優先順位を表示する¶
次の例は、論理演算子の優先順位を示しています。
最初の例は、 AND の優先順位が OR の優先順位よりも高いことを示しています。クエリは、これらの条件に一致する行を返します。
bはDownと等しい。
OR
aは8と等しく、かつ(AND)bはUpと等しい。
WHERE 句で括弧を使用すると、優先順位を変更できます。たとえば、以下のクエリはこれらの条件に一致する行を返します。
bはDownと等しい、または(OR)aは8と等しい。
AND
bはUpと等しい。
次の例は、 NOT の優先順位が AND の優先順位よりも高いことを示しています。たとえば、以下のクエリはこれらの条件に一致する行を返します。
aは15と等しくない(NOT)。
AND
bはDownと等しい。
WHERE 句で括弧を使用すると、優先順位を変更できます。たとえば、以下のクエリは、これらの条件の両方に一致しない(NOT)行を返します。
aは15と等しい。
AND
bはDownと等しい。
ブール値のクエリで論理演算子を使用する¶
テーブルを作成してデータを挿入します。
以下のクエリは、 OR 演算子を使用して、 a または b のいずれかが TRUE である行を返します。
以下のクエリは、 AND 演算子を使用して、 a と b の両方が TRUE である行を返します。
以下のクエリは、 AND 演算子と NOT 演算子を使用して、 b が TRUE であり、 a が FALSE である行を返します。
以下のクエリは、 AND 演算子と NOT 演算子を使用して、 a が TRUE であり、 b が FALSE である行を返します。
論理演算子の「真理値テーブル」を表示する¶
次のいくつかの例は、ブール列の論理演算子の「真理値テーブル」を示しています。Snowflakeにおけるブール値の動作については、 三項論理 をご参照ください。
新しいテーブルとデータを作成します。
これは、 OR 演算子の真理値テーブルを示しています。
これは、 AND 演算子の真理値テーブルを示しています。