Skip to main content
Version: 1.0

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 Fulltext Search.