SQL 
Basic syntax 
SELECT, FROM, LIMIT 
sql
SELECT
  *
FROM
  crm
LIMIT
  10;WHERE 
sql
SELECT
  *
FROM
  crm
WHERE
  register_date > '2020-01-01'
LIMIT
  10;AND 
sql
SELECT
  *
FROM
  crm
WHERE
  register_date > '2020-01-01'
  AND is_priority = true
LIMIT
  10;IN 
sql
SELECT
  user_id,
  last_activity,
  segment
FROM
  crm
WHERE
  segment in ('foo', 'bar');ORDER BY 
sql
SELECT
  *
FROM
  crm
WHERE
  register_date > '2020-01-01'
ORDER BY
  register_date
LIMIT
  10;DISTINCT 
sql
SELECT DISTINCT
  (segment)
FROM
  crm;JOIN (+ inner, left, right) 
sql
SELECT
  *
FROM
  products as p
  JOIN stock as s ON p.product_id = s.product_id
LIMIT
  10;GROUP BY, AVG, COUNT, SUM, MIN, MAX, AS 
sql
SELECT
  segment,
  AVG(stayonpage) AS avg_stayonpage
FROM
  crm
GROUP BY
  segment
LIMIT
  10;Transformations 
sql
-- cast string to datetime
TO_TIMESTAMP(date_created,'YYYY-MM-DD HH:MI:SS')
-- cast datetime to strong
to_char(timestamp_column, 'YYYY-MM')
-- timedelta
WHERE date_created < (NOW() - '3 months'::interval)::TEXTCRUD 
sql
-- rename table
ALTER TABLE OG_NAME
rename TO NEW_NAME;CTE 
A common table expression is a temporary result set which you can reference within another SQL statement including SELECT, INSERT, UPDATE or DELETE.
sql
WITH
  cte_film AS (
    SELECT
      film_id,
      title,
      (
        CASE
          WHEN length < 30 THEN 'Short'
          WHEN length < 90 THEN 'Medium'
          ELSE 'Long'
        END
      ) length
    FROM
      film
  )
SELECT
  film_id,
  title,
  length
FROM
  cte_film
WHERE
  length = 'Long'
ORDER BY
  title;Resources 
- Mode SQL Tutorial
 - SQL Style Guide
 - SQLBolt - Learn SQL with simple, interactive exercises.