SQL Reference

Overview

SQL in Analysis cells allows you to analyze and manipulate data within Log Workspaces. This documentation covers the SQL support available in Log Workspaces and includes:

Example workspace cell with SQL syntax

Syntax

The following SQL syntax is supported:

SyntaxDescriptionExample
SELECT (DISTINCT)
DISTINCT: Optional
Retrieves rows from a database, with DISTINCT filtering out duplicate records.
SELECT DISTINCT customer_id 
FROM orders 
JOINCombines rows from two or more tables based on a related column between them.
SELECT orders.order_id, customers.customer_name 
FROM orders 
JOIN customers 
ON orders.customer_id = customers.customer_id 
GROUP BYGroups rows that have the same values in specified columns into summary rows.
SELECT product_id, SUM(quantity) 
FROM sales 
GROUP BY product_id 
WHERE
Includes support for LIKE filters on strings for pattern matching.
Filters records that meet a specified condition.
SELECT * 
FROM employees 
WHERE department = 'Sales' AND name LIKE 'J%' 
CASEProvides conditional logic to return different values based on specified conditions.
SELECT order_id, 
  CASE 
    WHEN quantity > 10 THEN 'Bulk Order' 
    ELSE 'Standard Order' 
  END AS order_type 
FROM orders 
Arithmetic OperationsPerforms basic calculations using operators like +, -, *, /.
SELECT price, tax, (price * tax) AS total_cost 
FROM products 

Functions

The following SQL functions are supported:

FunctionReturn TypeDescription
min(variable v)typeof vReturns the smallest value in a set of data.
max(variable v)typeof vReturns the maximum value across all input values.
count(any a)numericReturns the number of input values that are not null.
sum(numeric n)numericReturns the summation across all input values.
avg(numeric n)numericReturns the average value (arithmetic mean) across all input values.
ceil(numeric n)numericReturns the value rounded up to the nearest integer.
floor(numeric n)numericReturns the value rounded down to the nearest integer.
round(numeric n)numericReturns the value rounded to the nearest integer.
lower(string s)stringReturns the string as lowercase.
upper(string s)stringReturns the string as uppercase.
abs(numeric n)numericReturns the absolute value.
coalesce(args a)typeof first non-null a OR nullReturns the first non-null value or null if all are null.

MIN

SELECT MIN(response_time) AS min_response_time 
FROM logs 
WHERE status_code = 200 

MAX

SELECT MAX(response_time) AS max_response_time 
FROM logs 
WHERE status_code = 200 

COUNT

SELECT COUNT(request_id) AS total_requests 
FROM logs 
WHERE status_code = 200 

SUM

SELECT SUM(bytes_transferred) AS total_bytes 
FROM logs 
GROUP BY service_name 

AVG

SELECT AVG(response_time) 
AS avg_response_time 
FROM logs 
WHERE status_code = 200 
GROUP BY service_name 

CEIL

 
SELECT CEIL(price) AS rounded_price 
FROM products 

FLOOR

SELECT FLOOR(price) AS floored_price 
FROM products 

ROUND

SELECT ROUND(price) AS rounded_price 
FROM products 

LOWER

SELECT LOWER(customer_name) AS lowercase_name 
FROM customers 

UPPER

SELECT UPPER(customer_name) AS uppercase_name 
FROM customers 

ABS

SELECT ABS(balance) AS absolute_balance 
FROM accounts 

COALESCE

 SELECT COALESCE(phone_number, email) AS contact_info 
FROM users 

Further reading

Additional helpful documentation, links, and articles: