Structured Query Language (SQL) is the tool of choice for manipulating databases. This language lets you manipulate data like no other, and it costs nothing to start using!
If you’re new to SQL commands or need a reminder of some parts of this powerful tool at your disposal, then our SQL commands cheat sheet below is exactly what you need. Scroll down to see the awesomeness it contains, or download the PDF for future use. (The PDF contains examples for the given commands.)
FREE DOWNLOAD: This cheat sheet is available as a downloadable PDF from our distribution partner, TradePub. You will have to complete a short form to access it for the first time only. Download The Essential SQL Commands Cheat Sheet.
The Essential SQL Commands Cheat Sheet
Command | Action |
---|---|
Query Commands | |
SELECT | Basic query building block to retrieve data. |
SELECT * | Using * with SELECT returns all columns. |
SELECT column | Specify exact columns with their name. |
SELECT table.column | Reference a column from a specific table. |
FROM | Specify where to find data. |
AS | Temporarily alias a table name or column to a new name. |
WHERE | Filter results with a condition. |
AND | Use multiple conditions with a WHERE clause. Results must match all conditions. |
OR | Use multiple conditions with a WHERE clause. Results only need to match one condition. |
ORDER BY | Order the results by a column. The database chooses how to order. |
ORDER BY column ASC | Order the results by a column in ascending order. |
ORDER BY column DESC | Order the results by a column in descending order. |
LIMIT | Restrict the number of results returned. |
OFFSET | Skip the first OFFSET number of rows. Often used with LIMIT. |
SUBQUERY | Run a query to retrieve data for another query. |
Aggregate Functions¹ | |
COUNT | Count the number of rows that match the query. |
MAX | Return the highest value in a numeric column. |
MIN | Return the lowest value in a numeric column. |
SUM | Sum the values of a numeric column. |
AVG | Calculate the average value for a numeric column. |
HAVING | Used with aggregate functions instead of the WHERE clause. |
GROUP BY | Used to refine an aggregate result. |
Operators | |
LIKE | Case-sensitive search for a pattern with a wildcard operator (%). |
ILIKE | Case-insensitive search for a pattern with a wildcard operator (%). |
BETWEEN | Search for a value between two values. Works with dates or numbers. |
> | Search for values greater than a condition. |
>= | Search for values greater or equal to a condition. |
< | Search for values less than a condition. |
<= | Search for values less than or equal to a condition. |
= | Search for values matching a condition exactly. |
<> | Search for values not equal to a condition. |
UNION | Combine two unique queries (with the same columns) into one result. |
UNION ALL | Combine two queries (with the same columns) into one result. Duplicates allowed. |
IN | Shorthand for WHERE. Specifies multiple OR conditions. |
NOT IN | Shorthand for WHERE. Specifies multiple OR conditions (inverted) or not equal to. |
IS NULL | Check for empty values. |
IS NOT NULL | Check for no empty values. |
INTERSECT | Return results which match two queries. |
MINUS | Return results in one query which are not in another query.¹ |
Joins | |
ON | Used to specify the column to compare and match results. |
USING | Shorthand for ON, used when the column name is the same in both tables. |
LEFT OUTER JOIN | All the results from the left table, with only the matching results from the right table. |
LEFT OUTER JOIN (WITH NULL) | (With null) All the results from the left table but not in the right table. |
INNER JOIN | All the results that match in both the left and right tables. |
FULL OUTER JOIN | All the results from both the left and right tables. |
FULL OUTER JOIN (WITH NULL) | (With null) all the results from both the left and right tables excluding results in both tables. |
RIGHT OUTER JOIN | All the results from the right table, with only the matching results from the left table. |
RIGHT OUTER JOIN (WITH NULL) | (With null) All the results from the right table but not in the left table. |
Creating and Editing Tables | |
CREATE TABLE | Create a new table. |
NULL | Allow empty values for this field. |
NOT NULL | Don’t allow empty values for this field. |
DEFAULT | A value to populate the field with if one is not supplied. |
AS | Create a new table based on the structure of an existing table. The new table will contain the data from the old table. |
ALTER TABLE (ADD COLUMN) | Add a new column to an existing table. |
ALTER TABLE (DROP COLUMN) | Remove a column from an existing table. |
ALTER TABLE (ALTER COLUMN) | Change the datatype of an existing column. |
ALTER TABLE (RENAME COLUMN) | Rename an existing column. |
ALTER TABLE (RENAME TABLE) | Rename an existing table. |
ALTER TABLE (MODIFY NULL) | Allow null values for a column. |
ALTER TABLE (MODIFY NOT NULL) | Prevent null values for a column. |
DROP TABLE | Delete a table and all its data. |
TRUNCATE TABLE | Delete all the data in a table, but not the table itself. |
Constraints | |
PRIMARY KEY | A value that uniquely identifies a record in a table. A combination of NOT NULL and UNIQUE. |
FOREIGN KEY | References a unique value in another table. Often a primary key in the other table. |
UNIQUE | Enforce unique values for this column per table. |
CHECK | Ensure values meet a specific condition. |
INDEX (CREATE) | Optimise tables and greatly speed up queries by adding an index to a column. |
INDEX (CREATE UNIQUE) | Create an index that does not allow duplicate values. |
INDEX (DROP) | Remove an index. |
Creating and Editing Data | |
INSERT (SINGLE VALUE) | Add a new record to a table. |
INSERT (MULTIPLE VALUES) | Add several new records to a table. |
INSERT (SELECT) | Add records to a table, but get the values from an existing table. |
UPDATE (ALL) | Modify all existing records in a table. |
UPDATE (WHERE) | Modify existing records in a table which match a condition. |
DELETE (ALL) | Remove all records from a table. |
DELETE (WHERE) | Remove records from a table which match a condition. |
Creating and Editing Triggers¹ | |
CREATE TRIGGER | Create a trigger. |
CREATE TRIGGER (OR MODIFY) | Create a trigger, or update an existing trigger if one is found with the same name. |
WHEN (BEFORE) | Run the trigger before the event happens. |
WHEN (AFTER) | Run the trigger after the event happens. |
EVENT (INSERT) | Run the trigger before or after an insert happens. |
EVENT (UPDATE) | Run the trigger before or after an update happens. |
EVENT (DELETE) | Run the trigger before or after a delete happens. |
ON | Which table to target with this trigger. |
TRIGGER_TYPE (FOR EACH ROW) | Execute the trigger for every row changed. |
TRIGGER_TYPE (FOR EACH STATEMENT) | Execute the trigger once per SQL statement, regardless of how many rows are altered. |
EXECUTE | Keyword to indicate the end of the main trigger definition. |
DROP TRIGGER | Delete a trigger. |
Creating and Editing Views | |
CREATE VIEW | Create a new view. |
AS | Define where to retrieve the data for a view. |
WITH CASCADED CHECK OPTION | Ensure any data modified through a view meets the rules defined by the rule. Apply this to any other views. |
WITH LOCAL CHECK OPTION | Ensure any data modified through a view meets the rules defined by the rule. Ignore this for any other views. |
CREATE RECURSIVE VIEW | Create a recursive view (one that refers to a recursive common table expression). |
CREATE TEMPORARY VIEW | Create a view that exists for the current session only. |
DROP VIEW | Delete a view. |
Common Table Expressions (CTEs)¹ | |
WITH | Create a new common table expression. |
AS | Specify the data to use in the CTE. |
, (COMMA) | Chain multiple CTEs. |
¹Database engine implementations and support often vary. |
SQL: The Most Powerful Language Around?
Keep in mind that SQL dialects vary between database engines. It’s a bit like the difference between HD DVD and Blu-ray (or VHS and Betamax). SQL is similar between databases, but the occasional complex command may not work exactly the same across all implementations. Most of the SQL commands in this cheat sheet will work across any database. The complex commands where database support varies are noted as such.
Once you know SQL, you can apply it to a variety of uses. Whether you’re dealing with a management system, programming project, or basic reporting, SQL unlocks the raw power contained in a database. Don’t forget to read our basic programmer’s guide to SQL, for an in-depth look at how to use these commands.
Read the full article: The Essential SQL Commands Cheat Sheet for Beginners