A quick reference for common SQL statements and patterns.
SELECT
SELECT column1, column2, ...
FROM table_name;
SELECT DISTINCT
SELECT 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 BY
SELECT 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 LIKE
NOT BETWEEN
NOT 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;
UPDATE
UPDATE 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;
LIMIT
SELECT 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!