Redis
SELECT Statements
The Provider for Redis is SQL-92 compliant. Below are some example SELECT statements.
Return all columns:
SELECT * FROM Customers
Rename a column:
SELECT [CompanyName] AS MY_CompanyName FROM Customers
Search data:
SELECT * FROM Customers WHERE Country = 'US';
Return the number of items in a group:
SELECT COUNT(*) AS MyCount FROM Customers
Return the number of unique items in a group:
SELECT COUNT(DISTINCT CompanyName) FROM Customers
Summarize data:
SELECT CompanyName, MAX(Balance) FROM Customers GROUP BY CompanyName
Retrieve data from multiple tables.
SELECT Restaurants.name, Zips.city FROM Restaurants INNER JOIN Zips ON Restaurants.zipcode = Zips.id
See JOIN Queries below for details.
Sort a result set in ascending order:
SELECT City, CompanyName FROM Customers ORDER BY CompanyName ASC
Restrict a result set to the specified number of rows:
SELECT City, CompanyName FROM Customers LIMIT 10
Parameterize a query to pass in inputs at execution time. This enables you to create prepared statements and mitigate SQL injection attacks.
SELECT * FROM Customers WHERE Country = @param
Aggregate Functions
The provider supports SQL-92 summary functions.
COUNT
Returns the number of rows matching the query criteria.
|
COUNT_DISTINCT
Returns the number of distinct, non-null field values matching the query criteria.
|
AVG
Returns the average of the column values.
|
MIN
Returns the minimum column value.
|
MAX
Returns the maximum column value.
|
SUM
Returns the total sum of the column values.
|
JOIN Queries
The Provider for Redis supports joins of multiple tables.
Joining Multiple Tables
You can join multiple tables just like you would in a relational database. Set SupportEnhancedSQL to True to execute these types of joins. The following examples use two tables: Restaurants and Zips.
The query below returns the Restaurant records that exist, if any, for each ZIP code:
|
The query below returns records from both tables that match the join condition:
|
Date Literal Functions
The following date literal functions can be used to filter date fields using relative intervals. Note that while the <, >, and = operators are supported for these functions, <= and >= are not.
L_TODAY()
The current day.
|
L_YESTERDAY()
The previous day.
|
L_TOMORROW()
The following day.
|
L_LAST_WEEK()
Every day in the preceding week.
|
L_THIS_WEEK()
Every day in the current week.
|
L_NEXT_WEEK()
Every day in the following week.
|
Also available:
L_LAST/L_THIS/L_NEXT MONTH
L_LAST/L_THIS/L_NEXT QUARTER
L_LAST/L_THIS/L_NEXT YEAR
L_LAST_N_DAYS(n)
The previous n days, excluding the current day.
|
L_NEXT_N_DAYS(n)
The following n days, including the current day.
|
Also available:
L_LAST/L_NEXT_90_DAYS
L_LAST_N_WEEKS(n)
Every day in every week, starting n weeks before current week, and ending in the previous week.
|
L_NEXT_N_WEEKS(n)
Every day in every week, starting the following week, and ending n weeks in the future.
|
Also available:
L_LAST/L_NEXT_N_MONTHS(n)
L_LAST/L_NEXT_N_QUARTERS(n)
L_LAST/L_NEXT_N_YEARS(n)
Last updated