SQL cheat sheet for simple sql commands.
- SELECT - Select data from a table.
- WHERE - Add conditions on queries result.
- ORDER BY - Sort the result of values.
- LIKE - Filter values like a pattern.
- LIMIT - Limit the number of result rows of a query.
- JOIN - Join the columns of several tables together.
- GROUP BY - Group the same row in column.
- HAVING - Use having for filter result after group by.
- UNION - Merge two select command.
- INSERT - Insert a row to a table.
- UPDATE - Update a row or rows from table.
- DELETE - Delete a row or rows from table.
- SELECT INTO - Select columns from table and insert them in another table.
- CREATE & DROP - Create and drop a database or table.
- ALTER - Change the table properties.
- INDEX - Add and remove index in table.
- CONSTRAINT - Add constraints to table columns.
SELECT: Select data from a table.
SELECT column_name
FROM table_name;SELECT *: Select all data from a table.
SELECT * FROM table_name;DISTINCT: Remove Duplicate values from result.
SELECT DISTINCT column1
FROM table_name;COUNT: Show values count.
SELECT COUNT(column1)
FROM table_name;OPERATORS: Performing calculations on values with a same data type.
SELECT column1, (column2 - column3) AS distance
FROM table_name;WHERE: Add conditions on queries result.
SELECT column1
FROM table_name
WHERE column1 > 10;AND: And operator.
SELECT column1
FROM table_name
WHERE column1 > 10 AND column1 < 3;OR: Or operator.
SELECT column1
FROM table_name
WHERE column1 = 10 OR column1 = 3;NOT: Not operator.
SELECT column1
FROM table_name
WHERE NOT column1 < 3;BETWEEN: Select all values between x and y.
SELECT column1
FROM table_name
WHERE column1 BETWEEN 3 AND 10;IN: Filter all values in the list.
SELECT column1
FROM table_name
WHERE column1 IN (2, 3, 10, 15);ASC: Sort values in ascending order.
SELECT *
FROM table_name
ORDER BY column1 ASC;DESC: Sort values in descending order.
SELECT *
FROM table_name
ORDER BY column1 DESC;MAX: Return maximum value of column.
SELECT MAX(column1)
FROM table_name;MIN: Return minimum value of column.
SELECT MIN(column1)
FROM table_name;AVG: Return average of column values.
SELECT AVG(column1)
FROM table_name;SUM: Return sum of column values.
SELECT SUM(column1)
FROM table_name;LIKE %: Filter values that contain none or any number of characters instead of %.
SELECT column1
FROM table_name
WHERE column1 LIKE 'A%';LIKE _: Filter values that have exactly one letter instead of _.
SELECT column1
FROM table_name
WHERE column1 LIKE 'A_f';LIMIT: Limit the number of result rows of a query.
SELECT column1
FROM table_name
LIMIT 30;INNER JOIN: Merges several columns.
SELECT username, product, order_cost
FROM users
INNER JOIN products
ON users.id = products.user_id
INNER JOIN orders
ON products.id = orders.product_id;LEFT JOIN: Merges multiple columns and returns null for values that exist in the left column but not in the right column.
SELECT username, product
FROM users
LEFT JOIN products
ON users.id = products.user_idRIGHT JOIN: Merges multiple columns and returns null for values that exist in the right column but not in the left column.
SELECT username, product
FROM users
RIGHT JOIN products
ON users.id = products.user_idFULL JOIN: Merges multiple columns and returns all column1 and column2 values, Even if they do not have corresponding values.
SELECT username, product
FROM users
FULL JOIN products
ON users.id = products.user_idSELF JOIN: Merge the column with itself to compare its own values.
SELECT t1.column1, t2.column1
FROM table1 t1, table1 t2
WHERE t1.column1 > t2.column1;GROUP BY: Group the same row in column and return it once.
SELECT column1, COUNT(*)
FROM table_name
GROUP BY column1HAVING: When we want add condition after group by use having.
SELECT
products.name,
SUM(products.price * order_items.product_count) AS total
FROM products
INNER JOIN orders
ON orders.product_id = products.id
INNER JOIN order_items
ON order_items.order_id = orders.id
GROUP BY products.name
HAVING SUM(products.price * order_items.product_count) > 2000
ORDER BY products.name ASCUNION: Merge two select and remove same values from result.
SELECT column1 FROM table1
UNION
SELECT column1 FROM table2;UNION ALL: Merge two select and don't remove same values from result.
SELECT column1 FROM table1
UNION ALL
SELECT column1 FROM table2;INSERT INTO: Adds a row to the end of the rows of the table, if you don't set a value for a column, it sets null for it.
INSERT INTO table_name(column1, column2, column3)
VALUES ("Mohammad", "Dori", 17)UPDATE: Update a row or rows with new values.
UPDATE table_name
SET column1='bob', column2=10
WHERE column1='jack';DELETE: Delete a row or rows from table.
DELETE FROM table_name
WHERE column1=20;SELECT INTO: Backup a table columns and insert in the new table.
SELECT column1, column2
INTO new_table
FROM table_name
WHERE column1 IN ("Iran", "Spain", "Italia");INSERT INTO SELECT: Back a table columns and insert in the available table.
INSERT INTO table2
SELECT column1, column2
FROM table1
WHERE column1 > 10;CREATE DATABASE: Create a new database.
CREATE DATABASE db_name;DROP DATABASE: Remove a database.
DROP DATABASE db_name;CREATE TABLE: Create a new table. All SQL data types
CREATE TABLE table_name(
column1 DATA TYPE,
column2 DATA TYPE,
column3 DATA TYPE
);DROP Table: Remove a table.
DROP TABLE table_name;RENAME COLUMN: Rename the column.
ALTER TABLE table_name
RENAME column_old_name TO column_new_name;RENAME TABLE: Rename the table.
ALTER TABLE table_old_name
RENAME TO table_new_name;CREATE COLUMN: Add new column to the table.
ALTER TABLE table_name
ADD column_name DATA TYPE;DROP COLUMN: Remove a column from the table.
ALTER TABLE table_name
DROP COLUMN column_name;NEW DATA TYPE: Change column data type.
ALTER TABLE table_name
ALTER COLUMN column_name
SET DATA TYPE new_data_type;INDEX: Index the table.
CREATE INDEX index_name
ON table_name (column_name);UNIQUE INDEX: Uniquely index the table.
CREATE UNIQUE INDEX index_name
ON table_name (column_name);DROP INDEX: Remove a table index.
DROP INDEX index_name;NOT NULL: The column can't be null.
CREATE TABLE table_name(
column1 DATA TYPE NOT NULL
);UNIQUE: Creating a unique column, that is, only one of it can be in the table.
CREATE TABLE table_name(
column1 DATA TYPE UNIQUE
);PRIMARY KEY: Creating a primary key, it's unique, not null and connection point to other tables.
CREATE TABLE table_name(
column1 DATA TYPE PRIMARY KEY
);FOREIGN KEY: Creating a foreign key, it's connect to another table primary key.
CREATE TABLE table_name(
column1 DATA TYPE PRIMARY KEY,
column2 DATA TYPE,
FOREIGN KEY (column2)
REFERENCES other_table(primary_key_column)
);DEFAULT: If no value is set for this column, it sets the default value for the columns. The opposite of NOT NULL.
CREATE TABLE table_name(
column1 DATA TYPE PRIMARY KEY,
column2 DATA TYPE DEFAULT default_value
);CHECK: Checked the values of columns they are going to be added.
CREATE TABLE table_name(
column1 DATA TYPE,
column2 DATA TYPE,
CONSTRAINT check_name CHECK (
column2 > 30 AND
LENGTH(column1) > 3
)
)DROP CONSTRAINT: Remove a check.
ALTER TABLE table_name
DROP CONSTRAINT check_name;Download Cheat Sheet: Click Here
My Github Account: Click Here