WHERE
描述
根据指定的条件限制查询或子查询的 FROM 子句的结果。
语法
WHERE boolean_expression
参数
boolean_expression
计算得出 BOOLEAN 结果类型的任何表达式。 可以使用逻辑运算符(例如 AND 或 OR)组合两个或更多个表达式。
示例
CREATE TABLE person (id INT, name STRING, age INT);
INSERT INTO person VALUES
(100, 'John', 30),
(200, 'Mary', NULL),
(300, 'Mike', 80),
(400, 'Dan' , 50);
-- Comparison operator in `WHERE` clause.
SELECT * FROM person WHERE id > 200 ORDER BY id;
+---------+-----------+----------+
| id| name| age|
+---------+-----------+----------+
| 300| Mike| 80|
+---------+-----------+----------+
| 400| Dan| 50|
+---------+-----------+----------+
-- Comparison and logical operators in `WHERE` clause.
SELECT * FROM person WHERE id = 200 OR id = 300 ORDER BY id;
+---------+-----------+----------+
| id| name| age|
+---------+-----------+----------+
| 200| Mary| NULL|
+---------+-----------+----------+
| 300| Mike| 80|
+---------+-----------+----------+
-- IS NULL expression in `WHERE` clause.
SELECT * FROM person WHERE id > 300 OR age IS NULL ORDER BY id;
+---------+-----------+----------+
| id| name| age|
+---------+-----------+----------+
| 200| Mary| NULL|
+---------+-----------+----------+
| 400| Dan| 50|
+---------+-----------+----------+
-- Function expression in `WHERE` clause.
SELECT * FROM person WHERE length(name) > 3 ORDER BY id;
+---------+-----------+----------+
| id| name| age|
+---------+-----------+----------+
| 100| John| 30|
+---------+-----------+----------+
| 200| Mary| NULL|
+---------+-----------+----------+
| 300| Mike| 80|
+---------+-----------+----------+
-- `BETWEEN` expression in `WHERE` clause.
SELECT * FROM person WHERE id BETWEEN 200 AND 300 ORDER BY id;
+---------+-----------+----------+
| salary| name| age|
+---------+-----------+----------+
| 200| Mary| NULL|
+---------+-----------+----------+
| 300| Mike| 80|
+---------+-----------+----------+