Skip to main content
Version: Nightly

WHERE

WHERE clause allows to filter the data by specifying conditions.

Syntax

SELECT *
FROM table_name
WHERE condition;

If there is a WHERE clause, it must contain an expression with the Boolean type. This is usually an expression with comparison and logical operators. Rows where this expression evaluates to false are excluded from further transformations or result.

Examples

Logical operators

Supports AND, OR as logical operators and can assemble conditions using brackets ().

SELECT * FROM system_metrics
WHERE idc = 'idc0' AND (host = 'host1' OR host = 'host2');

Numeric

Supports =, !=, >, >=, <, <= as comparison operators.

SELECT * FROM system_metrics WHERE cpu_util = 20.0;
SELECT * FROM system_metrics WHERE cpu_util != 20.0;
SELECT * FROM system_metrics WHERE cpu_util > 20.0;
SELECT * FROM system_metrics WHERE cpu_util >= 20.0;
SELECT * FROM system_metrics WHERE cpu_util < 20.0;
SELECT * FROM system_metrics WHERE cpu_util <= 20.0;

Evaluates match or mismatch against a list of elements.

List match

SELECT * FROM system_metrics WHERE idc IN ('idc_a', 'idc_b');

List mismatch

SELECT * FROM system_metrics WHERE idc NOT IN ('idc_a', 'idc_b');

String

For string columns, we can use the LIKE operator to search for a specified pattern in a column. There are two wildcards often used in conjunction with the LIKE operator:

  • The percent sign % represents zero, one, or multiple characters
  • The underscore sign _ represents a single character

Select all records that the host column starts with the letter "a":

SELECT * FROM system_metrics WHERE host LIKE 'a%';

Selects all records from the go_info table where the instance column matches the pattern 'localhost:____', meaning 'localhost:' followed by exactly four characters.

SELECT * FROM go_info
WHERE instance LIKE 'localhost:____';

For searching terms in logs, please read Query Logs.