SQL Cheat Sheet - SEIR-59/course-wiki GitHub Wiki

SQL Cheat Sheet

Introduction

SQL (Structured Query Language) is the industry standard language for relational database management systems, including PostgreSQL, MySQL, SQLite, and many more. The exact standards of the language, like capitalization, date/time format, and rules about quotations, vary from one vendor to the next. This cheat sheet follows the standards for PostgreSQL, as that is the system we will be using in this course.

Verb Equivalence

The following table is meant to depict the equivalence of CRUD operations, SQL commands, HTTP requests, and Ruby on Rails controller actions.

CRUD SQL HTTP Rails action
Create INSERT POST create
Read SELECT GET index/show
Update UPDATE PUT update
Delete DELETE DELETE destroy

Data types

PostgreSQL has the following data types (most common):

  1. int - whole number
  2. decimal - float/decimal
  3. bool - boolean
  4. varchar(n) - small text
  5. text - large text
  6. timestamp - date

Basic Commands in SQL:

Command Syntax Description
ALTER TABLE ALTER TABLE table_name ADD column_name datatype; It is used to add columns to a table in a database
AND SELECT column_name(s) FROM table_nameWHERE column_1 = value_1 AND column_2 = value_2; It is an operator that is used to combine two conditions
AS SELECT column_name AS ‘Alias’ FROM table_name; It is an keyword in SQL that is used to rename a column or table using an alias name
AVG SELECT AVG(column_name) FROM table_name; It is used to aggregate a numeric column and return its average
BETWEEN SELECT column_name(s) FROM table_nameWHERE column_name BETWEEN value_1 AND value_2; It is an operator used to filter the result within a certain range
CASE SELECT column_name, CASE WHEN condition THEN ‘Result_1’WHEN condition THEN ‘Result_2’ELSE ‘Result_3’ENDFROM table_name; It is a statement used to create different outputs inside a SELECT statement
COUNT SELECT COUNT(column_name)FROM table_name; It is a function that takes the name of a column as argument and counts the number of rows when the column is not NULL
CREATE TABLE CREATE TABLE table_name ( column_1 datatype, column_2 datatype, column_3 datatype); It is used to create a new table in a database and specify the name of the table and columns inside it
DELETE DELETE FROM table_name WHERE some_column = some_value; It is used to remove the rows from a table
GROUP BY SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name; It is an clause in SQL used for aggregate functions in collaboration with the SELECT statement
HAVING SELECT column_name, COUNT()FROM table_name GROUP BY column_name HAVING COUNT() > value; It is used in SQL because the WHERE keyword cannot be used in aggregating functions
INNER JOIN SELECT column_name(s)FROM table_1JOIN table_2 ON table_1.column_name = table_2.column_name; It is used to combine rows from different tables if the Join condition goes TRUE
INSERT INSERT INTO table_name (column_1, column_2, column_3) VALUES (value_1, ‘value_2’, value_3); It is used to add new rows to a table
IS NULL/ IS NOT NULL SELECT column_name(s)FROM table_name WHERE column_name IS NULL; It is an operator used with the WHERE clause to check for the empty values
LIKE SELECT column_name(s)FROM table_name WHERE column_name LIKE pattern; It is a special operator used with the WHERE clause to search for a specific pattern in a column
LIMIT SELECT column_name(s)FROM table_name LIMIT number; It is a clause to specify the maximum number of rows the result set must have
MAX SELECT MAX(column_name) FROM table_name; It is a function that takes number of columns as an argument and return the largest value among them
MIN SELECT MIN(column_name) FROM table_name; It is a function that takes number of columns as an argument and return the smallest value among them
OR SELECT column_name FROM table_name WHERE column_name = value_1 OR column_name = value_2; It is an operator that is used to filter the result set to contain only the rows where either condition is TRUE
ORDER BY SELECT column_name FROM table_name ORDER BY column_name ASC DESC;
OUTER JOIN SELECT column_name(s) FROM table_1 LEFT JOIN table_2 ON table_1.column_name = table_2.column_name; It is sued to combine rows from different tables even if the condition is NOT TRUE
ROUND SELECT ROUND(column_name, integer) FROM table_name; It is a function that takes the column name and a integer as an argument, and rounds the values in a column to the number of decimal places specified by an integer
SELECT SELECT column_name FROM table_name; It is a statement that is used to fetch data from a database
SELECT DISTINCT SELECT DISTINCT column_name FROM table_name; It is used to specify that the statement is a query which returns unique values in specified columns
SUM SELECT SUM(column_name) FROM table_name; It is function used to return sum of values from a particular column
UPDATE UPDATE table_name SET some_column = some_value WHERE some_column = some_value; It is used to edit rows in a atble
WHERE SELECT column_name(s) FROM table_name WHERE column_name operator value; It is a clause used to filter the result set to include the rows which where the condition is TRUE
WITH WITH temporary_name AS (SELECT *FROM table_name) SELECT *FROM temporary_name WHERE column_name operator value; It is used to store the result of a particular query in a temporary table using an alias

Source: IntelliPatt SQL Commands Cheat Sheat

Commands and syntax for querying data from single table and multiple tables:

Single Table Multiple Tables
SELECT c1 FROM t

To select the data in Column c1 from table t
SELECT c1, c2 FROM t1 INNER JOIN t2 on condition

Select column c1 and c2 from table t1 and perform an inner join between t1 and t2
SELECT * FROM t

To select all rows and columns from table t
SELECT c1, c2 FROM t1 LEFT JOIN t2 on condition

Select column c1 and c2 from table t1 and perform a left join between t1 and t2
SELECT c1 FROM t WHERE c1 = ‘test’

To select data in column c1 from table t, where c1=test
SELECT c1, c2 FROM t1 RIGHT JOIN t2 on condition

Select column c1 and c2 from table t1 and perform a right join between t1 and t2
SELECT c1 FROM t ORDER BY c1 ASC (DESC)

To select data in column c1 from table t either in ascending or descending order
SELECT c1, c2 FROM t1 FULL OUTER JOIN t2 on condition

Select column c1 and c2 from table t1 and perform a full outer join between t1 and t2
SELECT c1 FROM t ORDER BY c1 LIMIT n OFFSET offset

To skip the offset of rows and return the next n rows
SELECT c1, c2 FROM t1 CROSS JOIN t2

Select column c1 and c2 from table t1 and produce a Cartesian product of rows in a table
SELECT c1, aggregate(c2) FROM t GROUP BY c1

To group rows using an aggregate function
SELECT c1, c2 FROM t1, t2

Select column c1 and c2 from table t1 and produce a Cartesian product of rows in a table
SELECT c1, aggregate(c2) FROM t GROUP BY c1 HAVING condition

Group rows using an aggregate function and filter these groups using ‘HAVING’ clause
SELECT c1, c2 FROM t1 A INNER JOIN t2 B on condition

Select column c1 and c2 from table t1 and join it to itself using INNER JOIN clause

Source: IntelliPatt SQL Commands Cheat Sheat

⚠️ **GitHub.com Fallback** ⚠️