SQL is the language of BI. As of May 2019, Grow uses PostgreSQL as our SQL transform language. While you will use Grow’s tools and data transforms to build many valuable metrics, you will find that for some more complex or unique metrics, you will need to use SQL.
Here at Grow we work hard to eliminate as much SQL work as possible. However, because we also give our users full customizability to manipulate the data as they see fit, it’s likely that SQL may be needed to accomplish those particularly custom metrics.
SQL stands for Structured Query Language. You can pronounce it however you want; most people say the letters (“ess-que-el”) but some people also pronounce it the same was as the word “sequel.” Either is fine.
SQL is a query language that is used to communicate with databases, where you hold tables of data. You can both update and retrieve data from the database by using SQL.
SQL has a few key words that tell the database what to do and where to do it. Below are some of the basic function words.
SELECT statements tells the database to pull data from the location in the table specific in the rest of the query.
FROM specifies the table(s) to be queried.
WHERE selects the data values or rows that will be returned, based on the criteria you give it. This works as a filter and it is optional to include.
Note: Data Definition Language like
drop, etc. are not supported in Grow, even though the language is technically PostgreSQL. This is language that is typically used for manipulating the structure of a database and this code will run if a client tries it in a sample database or their own. But within Grow if a client tries to apply this code in a SQL Transform, it will simply return a blank table.
Data Manipulation Language like
recursive, etc. are supported in Grow. We’ve specifically programmed Grow to only accept this type of language since we are more traditionally querying/manipulating data within Grow, rather than defining.