SQL Basics
A quick reference for common SQL statements and patterns.
1. Basic SELECT
SELECT column1, column2, ...
FROM table_name;
2. SELECT DISTINCT
SELECT DISTINCT column1, column2, ...
FROM table_name;
Example – count distinct values:
SELECT COUNT(DISTINCT Country)
FROM Customers;
3. WHERE
clause
SELECT column1, column2, ...
FROM table_name
WHERE condition;
4. ORDER BY
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
5. Multiple AND
conditions
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
6. Multiple OR
conditions
SELECT 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%');
7. NOT
operator
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;
Common negations:
NOT LIKE
NOT BETWEEN
NOT IN
>
/<
negations (e.g.NOT >
⇒<=
)
8. INSERT
statements
- Specify columns & values:
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
- Insert values for all columns (column list omitted):
INSERT INTO table_name VALUES (value1, value2, value3, ...);
Examples
-- 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');
9. 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;
10. UPDATE
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition; -- Omit WHERE to update **all** rows!
11. DELETE
& DROP
-- Delete rows
DELETE FROM table_name
WHERE condition; -- Omit WHERE to delete **all** rows
-- Delete a table
DROP TABLE Customers;
12. LIMIT
SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;
13. Aggregate functions
Function | Purpose |
---|---|
MIN() | Smallest value |
MAX() | Largest value |
COUNT() | Number of rows |
SUM() | Total of a numeric column |
AVG() | Average of a numeric column |
14. Using MIN()
/ MAX()
SELECT MIN(column_name)
FROM table_name
WHERE condition;
-- Alias the result
SELECT MIN(Price) AS SmallestPrice
FROM Products;
15. More coming soon…
Feel free to append additional notes or examples as you learn more SQL!