A quick reference for common SQL statements and patterns.
SELECTSELECT column1, column2, ...
FROM table_name;SELECT DISTINCTSELECT DISTINCT column1, column2, ...
FROM table_name;Example – count distinct values:
SELECT COUNT(DISTINCT Country)
FROM Customers;WHERE clauseSELECT column1, column2, ...
FROM table_name
WHERE condition;ORDER BYSELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;AND conditionsSELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;OR conditionsSELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;Example – combining AND & OR:
SELECT *
FROM Customers
WHERE Country = 'Spain'
AND (CustomerName LIKE 'G%' OR CustomerName LIKE 'R%');NOT operatorSELECT column1, column2, ...
FROM table_name
WHERE NOT condition;Common negations:
NOT LIKENOT BETWEENNOT IN> / < negations (e.g. NOT > ⇒ <=)INSERT statementsINSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);INSERT INTO table_name
VALUES (value1, value2, value3, ...);-- Insert full row
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway');
-- Insert into selected columns
INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');
-- Insert multiple rows
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES
('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway'),
('Greasy Burger', 'Per Olsen', 'Gateveien 15', 'Sandnes', '4306', 'Norway'),
('Tasty Tee', 'Finn Egan', 'Streetroad 19B', 'Liverpool', 'L1 0AA', 'UK');IS NULL / IS NOT NULL-- Find rows where column is NULL
SELECT column_names
FROM table_name
WHERE column_name IS NULL;
-- Find rows where column is NOT NULL
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;UPDATEUPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition; -- Omit WHERE to update **all** rows!DELETE & DROP-- Delete rows
DELETE FROM table_name
WHERE condition; -- Omit WHERE to delete **all** rows
-- Delete a table
DROP TABLE Customers;LIMITSELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;| Function | Purpose |
|---|---|
MIN() | Smallest value |
MAX() | Largest value |
COUNT() | Number of rows |
SUM() | Total of a numeric column |
AVG() | Average of a numeric column |
MIN() / MAX()SELECT MIN(column_name)
FROM table_name
WHERE condition;
-- Alias the result
SELECT MIN(Price) AS SmallestPrice
FROM Products;Feel free to append additional notes or examples as you learn more SQL!