# 9.1. 邏輯運算子

The usual logical operators are available:

| `AND` |
| ----- |
| `OR`  |
| `NOT` |

SQLuses a three-valued logic system with true, false, and`null`, which represents“unknown”. Observe the following truth tables:

| `a` | `b` | `a` | AND | `b`   | `a`   | OR    | `b`   |
| --- | --- | --- | --- | ----- | ----- | ----- | ----- |
|     |     |     |     | TRUE  | TRUE  | TRUE  | TRUE  |
|     |     |     |     | TRUE  | FALSE | FALSE | TRUE  |
|     |     |     |     | TRUE  | NULL  | NULL  | TRUE  |
|     |     |     |     | FALSE | FALSE | FALSE | FALSE |
|     |     |     |     | FALSE | NULL  | FALSE | NULL  |
|     |     |     |     | NULL  | NULL  | NULL  | NULL  |

| `a` | NOT   | `a`   |
| --- | ----- | ----- |
|     | TRUE  | FALSE |
|     | FALSE | TRUE  |
|     | NULL  | NULL  |

The operators`AND`and`OR`are commutative, that is, you can switch the left and right operand without affecting the result. But see[Section 4.2.14](https://www.postgresql.org/docs/10/static/sql-expressions.html#syntax-express-eval)for more information about the order of evaluation of subexpressions.
